天天看点

IO流读取文件

IO流

按照方向分可以分为输入流和输出流

按照文件的大小可以分为字符流和字节流

IO流有4大基类

InputStream OutputStream Reader Writer
输入流一般都包含input reader
输出流一般都包含output writer

1.一个字节一个字节读取

@Test//用Junit测试
	public void FirstIo01() throws Exception {
		// 测试文件流的读取
		// InputStream
		// 创建一个文件流对象,
		InputStream in = new FileInputStream("D:\\个人文件夹\\yang.txt");
		// 定义一个初始的计数器
		int len = 0;
		// 使用while循环进行读取文件
		while ((len = in.read()) != -1) {
			char c = (char) len;
			System.out.print(c);

		}
		in.close();
	}
           

2.用缓冲区进行读取

@Test//用Junit测试
	public void ThiredI002() throws Exception {
		InputStream in = new FileInputStream("D:\\博客\\面向对象.docx");
		// 定义一个byte字节数组缓冲区进行存储
		byte[] b = new byte[8192];//一般定义1024的倍数的值
		// 定义一个标记,用来记录读取的长度
		int len = 0;
		// 循环读取文件内容
		while ((len = in.read(b)) != -1) {
			String str = new String(b, 0, len);
			System.out.print(str);

		}
		in.close();
	}