Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 读取和排序多个文件_Java_File_Sorting - Fatal编程技术网

Java 读取和排序多个文件

Java 读取和排序多个文件,java,file,sorting,Java,File,Sorting,以下是我遇到的全部问题: 无重复名称排序:编写一个程序,从所有十个文件中读取名称,将所有男孩和女孩的名称排序在一起,删除重复项,并将排序后的名称存储在一个文件中,每行仅十个名称,无等级 这些文件显示了婴儿的名字及其排名。示例文件的设置如下所示: 1 Lewis 12000 Sarah 50000//等级,男孩姓名,男孩姓名,女孩姓名,女孩姓名 第一步是读取这十个文件。在不为每个文件创建新的扫描程序或BufferedReader的情况下,如何做到这一点?请给我指一下正确的方向。我不是要一个完整的解

以下是我遇到的全部问题:

无重复名称排序:编写一个程序,从所有十个文件中读取名称,将所有男孩和女孩的名称排序在一起,删除重复项,并将排序后的名称存储在一个文件中,每行仅十个名称,无等级

这些文件显示了婴儿的名字及其排名。示例文件的设置如下所示:

1 Lewis 12000 Sarah 50000//等级,男孩姓名,男孩姓名,女孩姓名,女孩姓名
第一步是读取这十个文件。在不为每个文件创建新的扫描程序或BufferedReader的情况下,如何做到这一点?请给我指一下正确的方向。我不是要一个完整的解决方案。

在您读取其中一个文件并关闭BufferedReader后,您可以通过将其值设置为new BufferedReader来使用同一对象

首先,需要将所有名称保存到ArrayList中。下一步是将名称复制到第二个ArrayList中,并检查每个名称是否重复

例如:

import java.util.ArrayList;
import java.util.List;

public List<String> sortNames(List<String> names){
List<String> returnValues = new ArrayList<String>();
boolean exists = false;

for(String name : names){
   sub: for(String nm : returnValues){
      if(name.equalsIgnoreCase(nm)){
         exists = true;
         break sub;
      }
   }
   if(!exists){
      returnValues.add(name);
   }else{
      exists = false;
      continue;
   }
}

return returnValues;
}

请将您尝试过的内容添加到您的问题中。在不为每个文件创建新的扫描程序或BufferedReader的情况下,我如何做到这一点:这样做有什么错?您排除了显而易见的正确解决方案。那么,我是否应该对每个文件进行排序,然后将所有文件分别写入新文件?不,这不是要求您执行的操作。读你的作业。嘿,不需要那种态度。我只是要求朝正确的方向推进。