我有一个包含整数字符串的 txt 文件。 我想将它复制到某个容器(我尝试使用 ArrayList),对其进行排序并写入另一个文件。
这是我所做的(这段代码是我的 servlet 的一部分):
String path = session.getServletContext().getRealPath("/")
+ "numbers.txt";
String path2 = session.getServletContext().getRealPath("/")
+ "numbers2.txt";
ArrayList<Integer> arr = new ArrayList<Integer>();
FileReader filereader = new FileReader(path);
BufferedReader br = new BufferedReader(filereader);
String eachLine = br.readLine();
while (eachLine != null) {
arr.add(Integer.parseInt(eachLine));
eachLine = br.readLine();
}
filereader.close();
FileWriter writer = new FileWriter(path2, true);
for (int i = 0; i < arr.size(); ++i)
writer.write(arr.get(i) + "-");
writer.flush();
writer.close();
但是它从来没有用过:问题是新文件总是空的,里面什么也没有写,这就是问题所在。
最佳答案
不会尝试对 ArrayList
进行排序,ArrayList
的顺序将是添加元素的顺序。
要对 ArrayList
进行排序,请使用 java.util.Collections.sort()
:
Collections.sort(arr); // Ascending order.
还有另一个版本的 Collections.sort()
接受一个 Comparator
来定义升序不合适时的顺序。
关于java - 在文件内排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9601115/