java - 在文件内排序

标签 java html file jsp tomcat

我有一个包含整数字符串的 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/

相关文章:

html - 奇怪的 CSS 问题

javascript - 删除表 TD 内的 Div id

C读取二进制文件

html - 应用于子元素的 CSS 规则顺序

java - 如何加快 Java 文本文件解析器的速度?

无法使用文件描述符通过 fstat() 或 lseek() 获取文件大小

Java:我可以通过应用程序将客户端重定向到负载均衡器后面的同一 session /节点吗?

java - 无法将套接字从 Android 客户端应用程序连接到服务器

java - StringTokenizer 和 String split - 按特殊字符拆分

java - 使用 Eclipse 在运行时编译外部 Java 文件