JavaSE

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

智言 2014年07月21日 阅读(5136) 3

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

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

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

FileOutputStream

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

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:5679361

评论 3

评论前必须登录!

 

  1. FileWriter少写了个‘i’

    12年前 (2014-11-17) 回复
  2. 单词写错了 [挖鼻屎]

    12年前 (2014-11-08) 回复


如果你觉得本站内容对你有所帮助,比如提升你对编程方面的认识,你可以通过上面的二维码请博主喝杯咖啡,安好。

WEB前端开发部落(公众号:webapp_club)

群列表

前端初级学习群:初级Web前端学习群(后期为支付入群)
PHP初级学习群:PHP(MySQL)学习交流群
QQ群仅作为相关领域讨论平台,均提供高质量问题交流,禁止闲聊,无法接受的朋友请勿加群!
进群需要通过这里获取进群码才能进群哦!

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏