记录一道题:一个文件中包含多个字符串,每个字符串独立一行,要求将输入文件input.txt中的字符串进行排序,排序后输出到out.txt文件。
- 经常遇到关于流的问题,所以记录一下。
package com.tussy;
import java.io.*;
import java.util.ArrayList;
import java.util.Collections;
public class Demo10 {
public static void main(String[] args){
BufferedReader bfr = null;
FileWriter out = null;
try {
//输入流
FileReader read = new FileReader("G:\\JAVA\\IDEAIU\\workSpace\\dataStructure\\src\\com\\tussy\\input.txt");
//输出流
out = new FileWriter("G:\\JAVA\\IDEAIU\\workSpace\\dataStructure\\src\\com\\tussy\\output.txt");
//缓冲流
bfr = new BufferedReader(read);
//用list存储字符串
ArrayList<String> list = new ArrayList<>();
String line = null;
//包装流可以读取一行
while((line = bfr.readLine()) != null){
System.out.println(line);
list.add(line);
}
//调用排序方法
Collections.sort(list);
for(String str: list){
out.write(str+"\n");
}
} catch (IOException e) {
e.printStackTrace();
}finally {
try {
if(bfr != null){
bfr.close();
}
} catch (IOException e) {
e.printStackTrace();
}
try {
if(out != null){
out.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
2.如果存在错误之处,恳请指正,感谢。