Java 从多个文件获取数据并移动到一个文件
我使用了一些代码,它获取一个名为Java 从多个文件获取数据并移动到一个文件,java,file-io,Java,File Io,我使用了一些代码,它获取一个名为wonder1.txt的文件,并将该文件中的日期写入另一个文件。假设我有更多的文件,如wonder2.txt,wonder3.txt,wonder4.txt。我如何将其余的写在同一个文件中 import java.io.*; import java.util.*; import java.lang.*; public class alice { public static void main(String[] args) throws FileNotFou
wonder1.txt的文件,并将该文件中的日期写入另一个文件。假设我有更多的文件,如wonder2.txt
,wonder3.txt
,wonder4.txt
。我如何将其余的写在同一个文件中
import java.io.*;
import java.util.*;
import java.lang.*;
public class alice {
public static void main(String[] args) throws FileNotFoundException, IOException {
String fileName = ("/Users/DAndre/Desktop/Alice/wonder1.txt");
BufferedReader br = new BufferedReader(new FileReader(fileName));
try {
StringBuilder stringBuilder = new StringBuilder();
String line = br.readLine();
while (line != null) {
stringBuilder.append(line);
stringBuilder.append("\n");
line = br.readLine();
}
/**
* Pass original file content as string to another method which
* creates new file with same content.
*/
newFile(stringBuilder.toString());
} finally {
br.close();
}
}
public static void newFile(String fileContent) {
try {
String newFileLocation = "/Users/DAndre/Desktop/Alice/new1.txt";
PrintWriter writer = new PrintWriter(newFileLocation);
writer.write(fileContent);//Writes original file content into new file
writer.close();
System.out.println("File Created");
} catch (Exception e) {
e.printStackTrace();
}
}
}
如果您有一个文件列表,则可以逐个循环这些文件。当前代码在循环中移动。
更简单的方法是将所有文件放在一个文件夹中并从中读取
大概是这样的:
File folder = new File("/Users/DAndre/Desktop/Alice");
for (final File fileEntry : folder.listFiles()) {
String fileName = fileEntry.getAbsolutePath();
BufferedReader br = new BufferedReader(new FileReader(fileName));
try {
StringBuilder stringBuilder = new StringBuilder();
String line = br.readLine();
while (line != null) {
stringBuilder.append(line);
stringBuilder.append("\n");
line = br.readLine();
}
/**
* Pass original file content as string to another method which
* creates new file with same content.
*/
newFile(stringBuilder.toString());
} finally {
br.close();
}
}
所有文件都在一个文件夹中。我不在以下部分下:for(最终文件条目:folder.listFiles()){String fileName=fileEntry.getName();我的错误是..再次编辑了它。因此变量“folder”表示保存文件的文件夹。请确保您写入的文件位于其他文件夹中,否则它将读取该文件并将内容重写到该文件夹中。我遇到以下错误:线程“main”java.io.FileNotFoundException中出现异常:.DS_存储(没有此类文件或目录)在java.io.FileInputStream.open(本机方法)在java.io.FileInputStream.(FileInputStream.java:120)在java.io.FileInputStream.(FileInputStream.java:79)在java.io.FileReader.(FileReader.java:41)在alice.main(alice.java:16)在您的系统上的文件夹路径是什么..是否存在-/Users/DAndre/Desktop/alice?