1.java.io包中的字符流类-FileReader和FileWriter:
BufferedReader:缓存的输入字符流;
BufferedWriter:缓存的输出字符流;
FileReader:从文件中读取内容的输入流;
FileWriter:向文件中写入内容的输出流;
注:Buffered缓冲区,它就是一个像水池的东西,往水池里放水,放满后,一次性取走。而不是方一勺取一次,减少了IO读写次数。
2.实例-读写文件:
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; public class FileBR { /** * @param args * @throws IOException */ public static void main(String[] args) throws IOException { // TODO Auto-generated method stub BufferedReader rd=new BufferedReader(new FileReader("D:\csdn.txt")); FileWriter fw=new FileWriter("D:\pwd.txt"); BufferedWriter bw=new BufferedWriter(fw); String tempString = ""; while((tempString=rd.readLine())!=null){ System.out.println(tempString); bw.write(tempString); bw.newLine(); bw.flush(); } } }
javaIO流实现文件读写
文件写入:
InputStreamReader
BufferedReader
文件读取:
FileOutputStream
package javatest.basic22;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
public class IOReadTest {
public static void main(String[] args) { //写入文件路径
File f2=new File("c:/add44.txt"); //读取文件路径
File f=new File("c:/add.txt");
BufferedReader read=null;
FileOutputStream fos=null;
try { //读取并解决中文乱码问题 //创建读取流
InputStreamReader isr = new InputStreamReader(new FileInputStream(f), "UTF-8"); //开始读取
read = new BufferedReader(isr); //创建写入流
fos=new FileOutputStream(f2);
String str=null;
int line=1;
while ((str=read.readLine())!=null) {
System.out.println(str); //循环写入
fos.write((str+"
").getBytes());
line++;
} //关闭流对象
fos.flush();
fos.close();
read.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally{
if (read!=null) {
try {
fos.flush();
fos.close();
read.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}