Java字节流和字符流

淩亂°似流年 2022-04-11 04:19 374阅读 0赞

java.io包中操作文件内容的主要有两大类:字节流、字符流,两类都有输入和输出操作。字节流中输出数据主要用OutputStream,输入主要用InputStream;字符流中输出主要用Writer类,输入主要用Reader类。

字节流和字符流:

  • 字节流:InputStream、OutputStream;
    子类:FileInputStream、 FileOutputStream、ByteArrayInputStream、ByteArrayOutputStream等。
  • 字符流:Reader、Writer
    子类:FileReader 、FileWriter 、CharArrayReader、CharArrayWriter等。

字节流转为字符流转换:
字节流转换成字符流可以用 InputStreamReader、OutputStreamWriter类实现。

字节流转字符流的主要用途:
因InputStream的子类中没有读取问文本行的函数(readline),如要读取问文本行 需把字节流输入流转为字符输入流,再将字符输入流转为字符缓冲输入流(BufferedReader)。

示例:字节输入流实现行读取。

  1. FileInputStream fis = new FileInputStream("F:\\test\\test.txt"); //读取字节流
  2. InputStreamReader isr = new InputStreamReader(fis); //字节流转成字符流
  3. BufferedReader buffer = new BufferedReader(isr);//将字符流转成字符缓冲输入流
  4. String str = null;
  5. while((str=buffer.readLine())!=null){
  6. System.out.println(str);
  7. }

输出结果如下图所示:
在这里插入图片描述

test.txt文件内容如下图所示:
在这里插入图片描述

发表评论

表情:
评论列表 (有 0 条评论,374人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Java中的节流字符

    Java中流的概念: 在程序中所有的数据都是以流的方式进行传输或保存的,程序需要数据的时候要使用输入流读取数据,而当程序需要 将一些数据保存起来的时候,就要使用输出流完成。

    相关 java 节流字符的区别

      字节流与和字符流的使用非常相似,两者除了操作代码上的不同之外,是否还有其他的不同呢?   实际上字节流在操作时本身不会用到缓冲区(内存),是文件本身直接操作的,而字符流