IO流操作-------File类、输入流和输出流(二)

1 字节流:可以读取一切数据

  • 1、有水厂(数据:键盘、盘符中的文件)
  • 2、铺设管道:(FileInputStream\BufferedInputStream)
  • 3、开水龙头,关水龙头

1.1 字节输入流

package cn.itcast.io.c.bytestream.read;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;

public class FileInputStreamDemo {

    /**
     * @param args
     * @throws IOException 
     */
    public static void main(String[] args) throws IOException {
//        2:需求:读取文件中的数据,显示在屏幕上。
        
        File file = new File("tempfile\\file.txt");
        
        //创建一个字节输入流对象,必须明确数据源,其实就是创建字节读取流和数据源相关联。
        FileInputStream fis = new FileInputStream(file);
        
        //读取数据。使用 read();一次读一个字节。
        int ch = 0;
        while((ch=fis.read())!=-1){
            System.out.println("ch="+(char)ch);
        }
        /*
        int ch1 = fis.read();
        System.out.println("ch1="+(char)ch1);
        int ch2 = fis.read();
        System.out.println("ch2="+(char)ch2);
        int ch3 = fis.read();
        System.out.println("ch3="+(char)ch3);
        int ch4 = fis.read();
        System.out.println("ch4="+(char)ch4);
        int ch5 = fis.read();
        System.out.println("ch5="+(char)ch5);
        int ch6 = fis.read();
        System.out.println("ch6="+ch6);
        int ch7 = fis.read();
        System.out.println("ch7="+ch7);
        */
        
        // 关闭资源。
        fis.close();
        
    }

}

1.2 字节输出流

  • 1、有水厂(数据:键盘、盘符中的文件)
  • 2、铺设管道:(FileInputStream\BufferedInputStream)
  • 3、开水龙头,关水龙头
    在这里插入图片描述
    在这里插入图片描述
    提示:如果append为true,则在原有文件的基础上添加新的数据

1.3 输入流和输出流实现复制文件

在这里插入图片描述
使用BufferInputStream:字节缓冲流
在这里插入图片描述
使用BufferInputStream和BufferOutPutStream实现复制
在这里插入图片描述

2. 字符流:读取纯文本比较方便

已经处理了字符乱码问题

2.1 字符输入流

FileReader
在这里插入图片描述

2.2 字符输出流

FileWriter
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43304253/article/details/127147435