首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将两个.txt文件合并成一个文件?

如何将两个.txt文件合并成一个文件?
EN

Stack Overflow用户
提问于 2014-12-09 07:09:03
回答 2查看 190关注 0票数 0

对于这个程序,我必须合并两个文件,一个包含学生姓名和ID号,另一个包含班级ID号。然后,我必须将学生的ID代码与班级的ID代码进行匹配,并按字母顺序将它们排序到新的班级花名册中。

我必须使用数组和二进制搜索。

我只是真的不知道该怎么做。我没有太多东西,但我有的是:

代码语言:javascript
复制
import java.io.*;
import java.util.Scanner;

public class MergingFiles {


  public static void main(String[] args) throws IOException { 
    Scanner studentFile = new Scanner(new File("students.txt"));
    Scanner classFile = new Scanner(new File("classes.txt"));

    while (studentFile.hasNext()){
     }
    while (classFile.hasNext()){
     }
      //as long as another line, keeps running
      //sort students alphabetically
      //2 substrings, one id #, one students
      //read id codes, match with name
      //create new roster file


  }



}

任何帮助都是非常感谢的。

谢谢。

EN

回答 2

Stack Overflow用户

发布于 2014-12-09 08:22:59

这样如何:

1.)使用变量nameid创建一个Student

2.)扫描学生列表时,请将他们添加到Student[]中。数组不能调整大小(而且似乎不允许使用列表),所以考虑一下如何知道数组有多大,这样就不必调整它的大小(除非您想要添加代码来动态调整数组的大小,这也是可行的)。

3.)对Student[]进行排序(二进制搜索的要求)。如果必须手动执行此操作,则必须编写自己的排序实现(考虑要比较的Student对象的哪个字段)。如果允许您使用sort methods接口(并且您已经介绍了接口),那么只需让Student实现Comparable,然后调用Arrays.sort即可。

4.)在浏览类文件时,我假设您需要在这里使用二进制搜索来查找Student (基于它们的id),但是我不确定输入文件的格式,所以我不确定我可以给您更多的指导。

票数 0
EN

Stack Overflow用户

发布于 2021-04-19 22:49:08

尝试此

代码语言:javascript
复制
 public static File mergeAllFiles(File[]files,File dest) throws IOException{
    List<String> paths = 
   Stream.of(files).map(File::getPath).collect(Collectors.toList());
    for (String string : paths) {
        List<String> allLines = Files.readAllLines(Paths.get(string));
        Files.write(Path.of(dest.getPath()),allLines, StandardOpenOption.APPEND);
    }
    return dest;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27368715

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档