Java学习笔记之IO流中的文件字节流

FileInputStreamFileOutputSream类是InputStream的子类,专门用于对文件进行读写。如果程序对文件的操作比较简单,比如只是顺序地读写文件,那么就可以使用FileInputStreamFileOutputSream类创建的流对文件进行读写操作。

先在桌面的test文件夹中新建两个文件:Hello.txt和Happy.txt。在Hello.txt中写入“Hello World!”,Happy.txt则为空文档,用来写入数据。

直接上代码:

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class Test {
	public static void main(String[] args) {
		File file = new File("C:\\Users\\lenovog\\Desktop\\test\\Hello.txt");
		File file2 = new File("C:\\Users\\lenovog\\Desktop\\test\\Happy.txt");
		
		byte[] b = new byte[100];//一次读取100字节
		int count = 0;//实际读取的字节总数,初始值为0
		
		String txt = "Happy 2016!";
		byte[] b2 = txt.getBytes();//将字符串txt转换为字节数组
		try {
			//输入流
			System.out.println("———————————————向文件读取内容———————————————");
			FileInputStream iStream = new FileInputStream(file);
			while((count = iStream.read(b))!=-1){ //读取至文件末尾时,count的值就为-1
				String string = new String(b, 0, count);//从0开始
				System.out.println(string);
			}
			iStream.close();
			
			//输出流
			System.out.println("———————————————向文件写入内容———————————————");
			FileOutputStream oStream = new FileOutputStream(file2);
			oStream.write(b2);
			oStream.close();
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}

运行结果:

———————————————向文件读取内容———————————————
Hello World!
———————————————向文件写入内容———————————————

再打开Happy.txt,可以看到里面已经写入了“Happy 2016!”。

你可能感兴趣的:(Java学习笔记,java,io流)