Java IO 文本数据

Java IO 文本数据

列出的为较为常用的相关知识,因为我也是一名小白,所以希望能够通过博客来督促自> 己学习,若有错误请联系我!!!希望能够一起共同进步,共同成长!

字符流:

java.io.Reader
java.io.Writer
上述两个类是所有字符流的超类,规定了所有字符流都必须具备的读写字符的相关方法。
java将流按照读写单位划分为字节流与字符流
字节流以char为单位读写数据,但是底层本身还是读写字节,只是字符与字节的转换字符流自行完成。

转换流:

java.io.InputStreamReader
java.io.OutputStreamWriter
转换流是一对字符流,同时他们也是高级流,在实际开发时我们通常不会直接操作这两个流,但是在读写文本数据时,流连接中他们时非常重要的,负责衔接其他字符高级流与字节流。

写数据:

	FileOutputStream fos = new FileOutputStream("./xxx.xx");
	OutputStreamWrite osw = nw OutputStreamWrite(fos,"UTF-8");		// 转换流在创建时会传入第二个参数,这个参数用来指定
																	// 字符集,这样以来通过当前流写出的文本都会按照字符
																	// 集转换为字节后写出。
	osw.write("xxxxxxxxxxx.");
	
	osw.close();

读数据:

	FileInputStream fis = new FileInputStream("./xxxx.xx");
	InputStreamReader isr = new InputStreamReader(fis,"UTF-8");
	
	// 按照字节快读取数据
	char[] data = new char[100];
	int len = isr.read(data);
	String str = new String(data,0,len);
	System.out.println(str)
	
	// 按照字符读取
	int d=-1;
	while((d = isr.read()) != -1){	// 每次读取一个字符
		System.out.print((char)d);
	}

缓冲字符流

java.io.BufferedWriter
java.io.BufferedReader
缓冲流是快读写文本数据,提高读写效率,并且可以按行读写字符串
java.io.PrintWriter - 高级流
具有自动行刷新的缓冲字符输出流,内部总是连接BufferedWriter作为其缓冲加速操作。

写 - 使用:

	// 直接使用
	PrintWriter pw = new PrintWriter("./xxx.xx","UTF-8");
	PrintWriter pw = new PrintWriter(File file,"UTF-8");
	// 间接使用
	FileOutputStream fos = new FileOutputStream("./"+fileName+".txt");
	OutputStreamWriter osw = new OutputStreamWriter(fos,"UTF-8");
	BufferedWriter bw = new BufferedWriter(osw);
	PrintWriter pw = new PrintWriter(bw,true);			// 当第一个参数是流时,第二个参数是一个boolean值,为true就打开了
														// 自动刷新功能。每当调用println方法就会写出一行字符(自动执行flush)
	pw.println("xxxxxxxxx.");
	
	pw.close();

读 - 使用:

	FileInputStream fis = new FileInputStream("./"+fileName+".txt");
	InputStreamReader isw = new InputStreamReader(fis,"UTF-8");
	BufferedReader br = new BufferedReader(isw);
	
	br.readLine();			// 读取一行
	String line = null;
	while((line = br.readLine()) != null){
		System.out.print(line);
	}
	
	br.close();
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值