1.知识点
- 读文件
- 写文件
- 释放文件资源
- 如何优雅的遍历
- finally的用法
2.代码
public class FileOperation {
private String filepath = null;
private StringBuilder sb = new StringBuilder();
public FileOperation(String filepath) {
this.filepath = filepath;
}
public void readFile() {
File f = new File(filepath);
FileReader fr = null;
BufferedReader br = null;
int num = 0;
try {
fr = new FileReader(f);
br = new BufferedReader(fr);
while(true) {
String line = br.readLine();
if(line == null) {
break;
}
System.out.println(line);
num = num + 1;
sb.append("line num ")
.append(String.valueOf(num))
.append(": ")
.append(line)
.append("\n");
}
}
catch(IOException e) {
e.printStackTrace();
}
finally {
closeReader(br);
closeReader(fr);
}
}
private void closeReader(Reader reader) {
if(reader != null) {
try {
reader.close();
}
catch(IOException e) {
e.printStackTrace();
}
}
}
public void writeFile() {
File f = new File(filepath);
FileWriter fw = null;
BufferedWriter bw = null;
try {
fw = new FileWriter(f);
bw = new BufferedWriter(fw);
bw.write(sb.toString());
}
catch(IOException e) {
e.printStackTrace();
}
finally {
closeWriter(bw);
closeWriter(fw);
}
}
private void closeWriter(Writer writer) {
if(writer != null) {
try {
writer.close();
}
catch(IOException e) {
e.printStackTrace();
}
}
}
}
public static void main(String[] args) {
FileOperation fileop = new FileOperation("d:/hello.txt");
fileop.readFile();
fileop.writeFile();
}
3.参考来源