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