java _io_文件字符流输入

字符流读取数据不会产生乱码问题
字节流读取数据可能会因为字符集不同,每个字符对应的字符大小不同
而产生乱码
/

Read read= new FileReader(File f);或路径

操作方法:
除了流的选择改变和字节数组变成了字符数组,其他都一样

public class test{
    public static void main(String[]args)
    {
        File f =new File("C:/Users/10853/eclipse-workspace/hell/src/hell/abc");
        Reader reader=null;
        try {
        reader=new FileReader(f);

        **char[] flush =new char[1024];**
        int len=-1;
        try {
            while((**len=reader.read(flush))!=-1**)
            {//字符数组-->字符串
                **String s=new String(flush,0,len);**
                System.out.println(s);
            }
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }catch(IOException e)
    {
        e.printStackTrace();
    }finally {
        try {
            if(null!=reader)
            {
                reader.close();
            }
        }catch(IOException e)
        {
            e.printStackTrace();
        }

    }

}

}

原文地址:https://blog.51cto.com/14437184/2423170

时间: 2024-10-09 12:00:00

java _io_文件字符流输入的相关文章

java _io_文件字符流输出

String s="ada";char[] a=s.toCharArray(); 将字符串转换成字符数组 public class test{ public static void main(String[]args) { File f =new File("D:d/write.txt"); Writer writer=null; try { writer=new FileWriter(f); //写法一 /*String s="adad afaff哈哈哈

[学习笔记]Java IO之字符流

概述 字符流是专门用于处理文本文件的流,其中包括了文本编码相关转换工作. 字符流只可以处理文本字符数据. 每个字符流都包括一种编码方式,可以使用系统默认,也可以自行设定. 编码 1. 编码表 生活中语言文字和计算机中对应的数据表 2. 常见编码表 ASCII:包括字母和常见符号,1字节编码,首位为0. ISO8859-1:包括拉丁字母,1字节编码,首位为1. GB2312:简体中文码表,包括6~7千汉子及符号,2字节编码,2个字节首位均为1. GBK:中文码表,包括GB2312全部编码,约2万个

芯学苑:浅析Java字节流和字符流

1. 什么是流 Java中的流是对字节序列的抽象,我们可以想象有一个水管,只不过现在流动在水管中的不再是水,而是字节序列.和水流一样,Java中的流也具有一个"流动的方向",通常可以从中读入一个字节序列的对象被称为输入流;能够向其写入一个字节序列的对象被称为输出流. 2. 字节流 Java中的字节流处理的最基本单位为单个字节,它通常用来处理二进制数据.Java中最基本的两个字节流类是InputStream和OutputStream,它们分别代表了组基本的输入字节流和输出字节流.Inpu

java 字节流和字符流的区别 转载

转载自:http://blog.csdn.net/cynhafa/article/details/6882061 java 字节流和字符流的区别 字节流与和字符流的使用非常相似,两者除了操作代码上的不同之外,是否还有其他的不同呢?实际上字节流在操作时本身不会用到缓冲区(内存),是文件本身直接操作的,而字符流在操作时使用了缓冲区,通过缓冲区再操作文件,如图12-6所示. 下面以两个写文件的操作为主进行比较,但是在操作时字节流和字符流的操作完成之后都不关闭输出流.范例:使用字节流不关闭执行 Java

java 字节流和字符流

二者仅仅是操作单位不一样. InputStream和Reader是所有输入流的基类,他们都是抽象类,本身不能创建实例,但是他们是所有输入流的模板. 一般来说处理字符或字符串时使用字符流,处理字节或二进制对象时应使用字节流: 备注:字符流必须关闭资源,因为它中间有缓冲区!而字节流不需要!但是一般都会(最后)关闭资源! 字节流 字节流主要是操作byte(字节)的类型数据: 字节输出流:OutputStream 字节输入流:InputStream 字符流 Java中的字符是Unicode编码,是双字节

Java基础教程——字符流

字符流 字节流服务文本文件时,可能出现中文乱码.因为一个中文字符可能占用多个字节. 针对于非英语系的国家和地区,提供了一套方便读写方式--字符流. java.io.Reader java.io.Writer 文件字符流 |-读文件:FileReader java.io.FileReader fr = new FileReader("待读取的文件");// 构造时使用默认的字符编码 int 读取单个字符 = fr.read(); char[] cbuf = new char[1024];

java 字节流和字符流转换类InputStreamReader,OutPutStreamReader

import java.io.*; public class BufferDemo { public static void main(String[] args) throws IOException { BufferedReader buf=null; buf=new BufferedReader(new InputStreamReader(System.in)); System.out.print("Please enter a number:"); String str=buf

java 21 - 4 字符流的文件复制操作以及简化

既然字节流可以复制文件,那么字符流当然也有. 同样的思路: 数据源: a.txt -- 读取数据 -- 字符转换流 -- InputStreamReader目的地: b.txt -- 写出数据 -- 字符转换流 -- OutputStreamWriter 1 // 封装数据源 2 InputStreamReader isr = new InputStreamReader(new FileInputStream( 3 "a.txt")); 4 // 封装目的地 5 OutputStrea

【Java】IO流--文件字符流--FileReader、FileWriter

FileReader 作用:用于读取字符流 构造方法: FileReader(File file) 创建一个新的 FileReader ,给出 File读取. FileReader(String fileName) 创建一个新的 FileReader ,给定要读取的文件的名称. 常用方法: 1)int read();2)int read(char[] cbuf)3)int read(char[] cbuf,int off,int len);4) int available();5)close()