用字符输入流和字节输出流对文件进行操作;
用数组对文件内容的序号和正文的分割(split方法)
用HashMap的键与值对文件内容的序号和正文的分别接收;
你可能出现的情况:
1.在用数组对文件内容分割是,数组出现越界,应该是你的分割符不对,本文用的是 . ;
2.出现乱码,应该是你的文件的编码和你的编译工具的编码不一致,你应该对文件的编码进行修改;例如记事本,先进入你要操作的文件(记事本)-->点击左上方的文件-->并存为-->
下方有个编码,就可以进行修改了。
package FileSort;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.HashMap;
public class FileSort {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
BufferedReader br=new BufferedReader(new FileReader("F:\\DiGuiFile\\234\\sort\\insort.txt"));
BufferedWriter bw=new BufferedWriter(new FileWriter("F:\\DiGuiFile\\234\\sort\\outsort.txt"));
HashMap<String,String> map=new HashMap<>();
String str;
while((str=br.readLine())!=null) {
String []arr=str.split("\\.");
map.put(arr[0], arr[1]);
}
for(String key:map.keySet()) { //调用keySet,可以会自动排序
String value=map.get(key);
bw.write(key+"."+value);
bw.newLine();
}
br.close();
bw.close();
}
}