【发布时间】:2019-12-01 19:01:26
【问题描述】:
我正在开发一个 java 程序,其中:
程序读取两个 txt 文件(txt1 和 txt2),然后从每个 txt1 和 txt2 中交替打印出 txt1 和 txt2 到 txt3。
示例: txt1 =
这是第一个 是 一个
txt2= 那 曾是 两个
txt3 应该是: 这是第一个 那 是 曾是 一 两个
我不确定我错过了什么...任何帮助将不胜感激。
代码:
package combine;
import java.io.*;
import java.util.*;
import java.nio.file.*;
public class Main{
public static void main(String[] args) throws IOException{
String targetDir = "C:\\Parts";
String outputFile = "C:\\Parts\\complete\\TheRavensGreenEggs.txt";
File dir = new File(targetDir);
File[] files = dir.listFiles(new FilenameFilter() {
// Only import "txt" files
@Override
public boolean accept(File dir, String name) {
return name.toLowerCase().endsWith(".txt");
}
});
// Reads all "txt" file lines into a List
List<String> inputFileLines = new ArrayList<>();{
for (File file : files) {
inputFileLines.addAll(Files.readAllLines(Paths.get(file.getAbsolutePath())));
}}
// Writes the List to the console
for (String line : inputFileLines) {
System.out.println(line);
}
// Writes the List to a single "TheRavensGreenEggs.txt" file
Files.write(Paths.get(outputFile), inputFileLines, StandardOpenOption.CREATE);
}}
【问题讨论】:
-
您缺少替代部分,您的代码没有尝试这样做,您只需要编写代码即可。
-
@luk2302 这就是我卡住的地方......我不确定我是否使用“inputFilesLines.?”还是有更好的分割线的方法?
-
如果您创建一个 for 循环 - 每个循环都会为每个文件输出该行。如果文件长度不同,则循环最短文件的次数,或检查以确保文件包含特定行。