BufferedReader bis = new BufferedReader(new FileReader("IO\\出师表.txt"));
BufferedWriter bos = new BufferedWriter(new FileWriter("IO\\出师表正序.txt"));
HashMap<String,String> map = new HashMap<>();
String line;
while ((line = bis.readLine()) != null ){
String[] arr = line.split("\\.");
map.put(arr[0],arr[1]);
}
for(String key : map.keySet()){
String value = map.get(key);
bos.write(key + "." + value);
bos.newLine();
}
bis.close();
bos.close();
.
String[] arr = line.split("\\.");
map.put(arr[0],arr[1]);
将.左右的文本分割出来,存入map中
arr[0]为序号
arr[1]为文本内容
.
.
for(String key : map.keySet()){
String value = map.get(key);
bos.write(key + "." + value);
bos.newLine();
}
HashMap方法中的key可以按顺序排序
.
.
原文本:
排序后:
.
.
文本转码
将GBK编码的文本转为UTF-8编码
InputStreamReader isr = new InputStreamReader(new FileInputStream("IO\\GBK编码.txt"),"GBK");
OutputStreamWriter osr = new OutputStreamWriter(new FileOutputStream("IO\\UTF-8编码.txt"),"UTF-8");
int len = 0;
while((len = isr.read()) != -1){
osr.write(len);
}
osr.close();
isr.close();