java字符流和字节流写入读取文件

FileOutputStream类使用字节流操作文件,文件每次读取/写入以字节为单位

import java.io.*;

public class FileByte{

	public static void main(String...args){

		File file=new File("D:\\test.txt");
		if(!file.exists())
			try{
				file.createNewFile();
			}catch(Exception e){
				e.printStackTrace();
			}
		try{
			FileOutputStream out=new FileOutputStream(file);
			byte bt[]="i eat apple".getBytes();
			out.write(bt);
			out.close();
		}catch(Exception e){
			e.printStackTrace();
		}
		try{
			FileInputStream in=new FileInputStream(file);
			byte bt1[]=new byte[1024];
			int len=in.read(bt1);
			System.out.println("文件中的信息是:"+new String(bt1,0,len));
			in.close();
		}catch(Exception e){
			e.printStackTrace();
		}
	}

}

 

FileWriter类使用字符流操作文件,文件每次读取/写入以字符(2字节)为单位,由于汉字占用两个字节,因此用字符流操作比较合适

import java.io.*;

public class FileChar{

	public static void main(String...args){

		File file=new File("D:\\test.txt");
		if(!file.exists())
			try{
				file.createNewFile();
			}catch(Exception e){
				e.printStackTrace();
			}
		try{
			FileWriter out=new FileWriter(file);
			String s="我爱吃苹果";
			out.write(s);
			out.close();
		}catch(Exception e){
			e.printStackTrace();
		}
		try{
			FileReader in=new FileReader(file);
			char bt1[]=new char[1024];
			int len=in.read(bt1);
			System.out.println("文件中的信息是:"+new String(bt1,0,len));
			in.close();
		}catch(Exception e){
			e.printStackTrace();
		}
	}

}

 


版权声明:本文为m0_60352504原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。