java - 如何从多个其他文本文件创建一个文本文件?

标签 java string bufferedreader filereader filewriter

我需要创建一个文本文件,其中组合了同一文件夹中任意数量的文本文件。它们需要通过我的主方法中的参数来访问,以便它查找我编写的文件名。最后一个文件名应该是目标文件。 到目前为止,我的代码正在创建一个新文件,其中包含我输入的最后一个字符串作为名称,但它是一个空文件。我怀疑我的 BufferedReader 类没有做它应该做的事情,但我不知所措。这是我的代码。首先是驱动程序类和实际程序。非常感谢您提供的任何帮助!

public class Driver {

    public static void main(String[] args)
    {
        CatFiles cat = new CatFiles(args);
        cat.bookCombiner();

}
}

这就是出错的地方。

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.nio.channels.FileChannel;
import java.util.ArrayList;

public class CatFiles {
    private String[] files;

public CatFiles(String[] files) {
    this.files = files;
}

public String getDest() {

    String destination = null;
    for (int i = 0; i < files.length; i++) {
        destination = files[i];
    }

    return destination;
}

public void bookCombiner() {
    BufferedReader reader = null;
    try {
        FileWriter writer = new FileWriter(getDest());
        for (int i = 0; i < files.length - 1; i++) {
            File file = new File(files[i]);
            String line = null;
            reader = new BufferedReader(new FileReader(file));
            if ((line = reader.readLine()) != null) {
                writer.write(files.length - 1);
            }

        }
        writer.close();

    } catch (Exception e) {
        System.out.println(e);
    } finally {
        try{
            reader.close();
        } catch(IOException e){
            e.printStackTrace();
        }
    }

}
}

最佳答案

你从来不使用 writer 来写行。变化:

if ((line = reader.readLine()) != null) {
     writer.write(files.length - 1);
}

while ((line = reader.readLine()) != null) {
    writer.write(line);
}

关于java - 如何从多个其他文本文件创建一个文本文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27040185/

相关文章:

javascript - 如何组合静态值和动态值以获取现有字符串的值

c# - 按字典顺序排序字符串数组

python - Pandas 有没有办法过滤字符串中包含的列中的行

java - 有没有办法在现有的继承树中插入自定义类?

java - 无法在多线程的正确文件上写入日志?

java - 关于Spring Data JPA Rest(JpaRepository)的安全性问题

java - SQL Server 2008 镜像使用什么机制来通知驱动程序主数据库已故障转移?

java - 如何在 Java 中使用 BufferedReader 读取下一行?

Java字符串程序

Java bufferedreader 在读取行时有时会跳过第一个字符