读写文件是最常用的操作之一,每次将相应的代码片段复制过来不仅麻烦,还会影响整体的美观。为此我单独写了一个文件操作的类,需要时先把这个类的代码粘过去,再调用就方便多了。
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
public class FileManager {
public static String read(String fileName, String encoding) {
StringBuffer fileContent = new StringBuffer();
BufferedReader br = null;
try {
br = new BufferedReader(new InputStreamReader(new FileInputStream(fileName),encoding));
String line = null;
while ((line = br.readLine()) != null) {
fileContent.append(line.trim());
fileContent.append("\n");
}
} catch (Exception e) {
e.printStackTrace();
}
finally{
if(br!=null)
try {
br.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return fileContent.toString();
}
public static void write(String fileContent, String fileName,
String encoding) {
OutputStreamWriter osw = null;
try {
osw = new OutputStreamWriter(new FileOutputStream(fileName), encoding);
osw.write(fileContent);
osw.flush();
} catch (Exception e) {
e.printStackTrace();
}
finally{
if(osw!=null)
try {
osw.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
调用示例:
写入 FileManager.write("Hello, World!", "D://test.txt", "UTF-8");
读取 System.out.println(FileManager.read("D://test.txt", "UTF-8"));
追加文件:使用FileOutputStream,在构造FileOutputStream时,把第二个参数设为true