FileReader
FileReader
类从 InputStreamReader
类继承而来。该类按字符读取流中数据。可以通过以下几种构造方法创建需要的对象:
FileReader(File file);
FileReader(FileDescriptor fd);
FileReader(String fileName);
看一段简单的代码
import java.io.*;
public class Filereader{
public static void main(String args[])throws IOException{
File file = new File("Hello.txt");
// create a file
file.createNewFile();
// creates a FileWriter Object
FileWriter writer = new FileWriter(file);
// write to the file
writer.write("hello world!\nAre you OK?");
writer.flush();
writer.close();
// create a FileReader object
FileReader filereader = new FileReader(file);
char [] a = new char[50];
//read contents from the file to array
filereader.read(a);
for(char c : a){
//print the contents of the array in one character
System.out.print(c);
}
//close the FileReader
filereader.close();
}
}
BufferedReader:
//path of the file
String pathname = "input.txt";
File filename = new File(pathname);
FileInputStream fis = new FileInputStream(filename);
//Create a InputStreamreader object
InputStreamReader reader = new InputStreamReader(isr,,"UTF-8");
BufferedReader br = new BufferedReader(reader);
String line = "";
line = br.readLine();
//read a line one time
while (line != null) {
line = br.readLine();
}
/* 写入Txt文件 */
File writename = new File("output.txt");
writename.createNewFile();
BufferedWriter out = new BufferedWriter(new FileWriter(writename));
out.write("我会写入文件啦\r\n");
out.flush();
out.close();
PrintWriter
public class PrintWriter {
public static void main(String[] args) {
try {
//open file
FileOutputStream fos=new FileOutputStream("pw.txt");
OutputStreamWriter osw=new OutputStreamWriter(fos,"UTF-8");
/**
* 创建具有自动刷新的PrinterWriter后,每当我们使用println()/print()
* 方法写出字符串后,都会自动调用flush()方法
* 但是会增加写出次数而降低写出效率
*/
PrintWriter pw=new PrintWriter(osw, true);
pw.println("helloworld");
pw.append("Are you OK?");
pw.write("Thank you");
pw.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
有关更详细的关于java文件操作的方法以后再补充~