读内容
package file;
import java.io.*;
import java.util.HashMap;
import java.util.Map;
import java.util.TreeSet;
// 缓冲字符流
public class TestSortFileLine {
public static void main(String[] args) {
String srcFilePath = "沁园春长沙.txt";
String distFilePath = "沁园春长沙sort.txt";
try (
BufferedReader srcRead = new BufferedReader(new FileReader(srcFilePath));
BufferedWriter write = new BufferedWriter(new FileWriter(distFilePath));
) {
String line;
// hashMap 是无序的
Map<Integer, String> lineMap = new HashMap<>();
while((line = srcRead.readLine()) != null) {
String[] lineArr = line.split("->");
Integer index = Integer.parseInt(lineArr[0]);
lineMap.put(index, lineArr[1]);
}
for (Integer integer : lineMap.keySet()) {
write.write(lineMap.get(integer));
write.newLine(); // 写完换一行
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
// 缓冲字符流 加上 转换流 解决乱码问题
package file;
import java.io.*;
import java.util.HashMap;
import java.util.Map;
// 缓冲字符流 加上 转换流 解决乱码问题
public class TestSortFileLine2 {
public static void main(String[] args) {
String srcFilePath = "沁园春长沙.txt";
String distFilePath = "沁园春长沙2sort.txt";
try (
// 主要在这2行代码, 读 和 写 设置编码格式
BufferedReader srcRead = new BufferedReader(new InputStreamReader(new FileInputStream(srcFilePath), "utf-8"));
BufferedWriter write = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(distFilePath), "utf-8"));
) {
String line;
// hashMap 是无序的
Map<Integer, String> lineMap = new HashMap<>();
while((line = srcRead.readLine()) != null) {
String[] lineArr = line.split("->");
Integer index = Integer.parseInt(lineArr[0]);
lineMap.put(index, lineArr[1]);
}
for (Integer integer : lineMap.keySet()) {
write.write(lineMap.get(integer));
write.newLine(); // 写完换一行
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}