JAVA IO流相关代码(字符流:FileWriter类,FileReader类,BufferedReader类,BufferedWriter类)

Posted 小乖乖的臭坏坏

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA IO流相关代码(字符流:FileWriter类,FileReader类,BufferedReader类,BufferedWriter类)相关的知识,希望对你有一定的参考价值。

缓冲区代码1

只要将需要被提高效率的流对象作为参数传递给缓冲区的构造函数即可

/*
缓冲区的出现是为了提高流的操作效率而出现的。
所以在创建缓冲区之前,必须要先有流对象。
该缓冲区中提供了一个跨平台的换行符。
newLine();
*/

import java.io.*;

class  BufferedWriterDemo

	public static void main(String[] args) throws IOException
	
		//创建一个字符写入流对象。
		FileWriter fw = new FileWriter("buf.txt");

		//为了提高字符写入流效率。加入了缓冲技术。
		//只要将需要被提高效率的流对象作为参数传递给缓冲区的构造函数即可。
		BufferedWriter bufw = new BufferedWriter(fw);

		for(int x=1; x<5; x++)
		
			bufw.write("abcd"+x);
			bufw.newLine();
			bufw.flush();
		
		//其实关闭缓冲区,就是在关闭缓冲区中的流对象。
		bufw.close();
	


缓冲区代码2

将字符读取流对象作为参数传递给缓冲对象的构造函数


/*
字符读取流缓冲区:
该缓冲区提供了一个一次读一行的方法 readLine,方便于对文本数据的获取。
当返回null时,表示读到文件末尾。

readLine方法返回的时候只返回回车符之前的数据内容。并不返回回车符。

*/

import java.io.*;

class  BufferedReaderDemo

	public static void main(String[] args) throws IOException
	
		//创建一个读取流对象和文件相关联。
		FileReader fr = new FileReader("buf.txt");

		//为了提高效率。加入缓冲技术。将字符读取流对象作为参数传递给缓冲对象的构造函数。
		BufferedReader bufr = new BufferedReader(fr);
		

		String line = null;

		while((line=bufr.readLine())!=null)
		
			System.out.print(line);
		


		bufr.close();
	




缓冲区代码3

实现功能:通过缓冲区复制一个.java文件


/*
通过缓冲区复制一个.java文件。

*/
import java.io.*;

class  CopyTextByBuf

	public static void main(String[] args) 
	
		//初始化缓冲区时,先定义为空,因为如果直接导入文件的话,有可能因为文件的存在性和可读性而抛出异常
		BufferedReader bufr = null;
		BufferedWriter bufw = null;

		try
		
			bufr = new BufferedReader(new FileReader("BufferedWriterDemo.java"));
			bufw = new BufferedWriter(new FileWriter("bufWriter_Copy.txt"));

			String line = null;

			while((line=bufr.readLine())!=null)//逐行读入
			
				bufw.write(line);//写入BufferedWriter流中
				bufw.newLine();//定位到下一行
				bufw.flush();//刷新

			
		
		catch (IOException e)
		
			throw new RuntimeException("读写失败");
		
		finally//不论读写成功与否,BufferedReader和BufferedWriter流还是需要关闭的
		
			try
			
				if(bufr!=null)
					bufr.close();
			
			catch (IOException e)
			
				throw new RuntimeException("读取关闭失败");
			
			try
			
				if(bufw!=null)
					bufw.close();
			
			catch (IOException e)
			
				throw new RuntimeException("写入关闭失败");
			
		
	


参考:
毕向东java

以上是关于JAVA IO流相关代码(字符流:FileWriter类,FileReader类,BufferedReader类,BufferedWriter类)的主要内容,如果未能解决你的问题,请参考以下文章

JAVA IO流相关代码(打印流 和 文件拼接)

JAVA IO流相关代码(究极整理,字符流与字节流之间的转化)

Java Review(三十IO)

Java Review(三十IO)

JAVA IO流相关代码(Properties类的常见方法与应用)

JAVA IO流相关代码(Properties类的常见方法与应用)