本站域名已变更为https://blog.67v.cn,全新首页即将发布,尽情期待!!!

Java编程IO流中字节流(InputStream/OutputStream)的相关知识

上一篇文章中涉及到的字符流的输入和输出主要是通过FileWrter和FileReader来实现的,而且字符流其实就是字节流+编码表来实现的,所以对于字节流来说,就少了编码表这一个环节。

其实FileWrter和FileReader是在类里面封装了默认的平台编码表,但是是有编码这个过程的,而字节流不需要通过编码过程就直接能够实现,并且它不仅可以操作字符,还可以操作其他媒体文件,同样需要涉及到的两个类分别是FileOutputStream和FileInputStream两个类,同时它需要用到的数组是Byte[]数组,和字符流是不一样的。

废话不多说,直接开始展示案例:

FileOutputStream

code
import java.io.FileOutputStream;
import java.io.IOException;

public class TextDemo {
	/**
	 * @param args
	 * @throws IOException
	 */
	public static void main(String[] args) throws IOException {
		//1.创建字节输出流对象。用于操作文件。
		FileOutputStream fos = new FileOutputStream("E:\Text.txt");
		
		//2.写入数据。直接写入到目的地文件中。
		fos.write("adcdef".getBytes());
		
		//3.关闭资源动作
		fos.close();
	}
}

 

FileInputStream

code
import java.io.FileInputStream;
import java.io.IOException;

public class TextDemo {
	/**
	 * @param args
	 * @throws IOException
	 */
	public static void main(String[] args) throws IOException {
		//1.创建字节输出流对象。用于操作文件。
		FileInputStream fis = new FileInputStream("E:\Text.txt");
		
		//2.定义一个数组缓冲区
		Byte[] buf = new Byte[1024];
		int len = 0;
		
		//3.读取指定文件的所有数据
		while((len=fis.read(buf))!=-1){
			System.out.println(new String(buf,0,len));
		}

		//4.关闭资源动作
		fis.close();
	}
}

 

读完了点一下,作者能得积分

赞赏

如果这篇内容帮到了你,不妨请作者喝杯咖啡

分享 微博 QQ

3 条评论

发表评论