Java BufferedWriter.newLine()未在新行中写入
好的,为了直截了当地说,我编写了一个简单的应用程序,在这个应用程序中,它得到了它要通过的第一行文件的字符串,然后我让它把它得到的所有字符串记录到一个txt文件中,但当它记录时,它只是继续用其他文件中的新字符串替换自己 我想让它记录它得到的字符串,然后将另一个文件中的新字符串写入新行,但我似乎无法让它工作 如果有人能帮我解决这个问题,我会非常感激Java BufferedWriter.newLine()未在新行中写入,java,Java,好的,为了直截了当地说,我编写了一个简单的应用程序,在这个应用程序中,它得到了它要通过的第一行文件的字符串,然后我让它把它得到的所有字符串记录到一个txt文件中,但当它记录时,它只是继续用其他文件中的新字符串替换自己 我想让它记录它得到的字符串,然后将另一个文件中的新字符串写入新行,但我似乎无法让它工作 如果有人能帮我解决这个问题,我会非常感激 public static void main(String[] args) throws Exception { File dir = new
public static void main(String[] args) throws Exception {
File dir = new File("C://Users//Test//Desktop//lists");
if (dir.isDirectory()) {
for (File file : dir.listFiles()) {
String line1 = Files.readAllLines(Paths.get(file.getAbsolutePath())).get(0);
BufferedWriter writer = new BufferedWriter(new FileWriter("C://Users//Test//Desktop//logged.txt"));
writer.write(line1);
writer.newLine();
writer.close();
}
}
}
您每次都可以
新建
您的编写器
。在的开始之前添加新的行
public static void main(String[] args) throws Exception {
File dir = new File("C://Users//Test//Desktop//lists");
if (dir.isDirectory()) {
BufferedWriter writer = new BufferedWriter(new FileWriter("C://Users//Test//Desktop//logged.txt"));
for (File file : dir.listFiles()) {
String line1 = Files.readAllLines(Paths.get(file.getAbsolutePath())).get(0);
writer.write(line1);
writer.newLine();
}
writer.close();
}
}
您正在文本循环的每次迭代中重新打开文件
logged.txt
。这将截断文件,并重新开始写入。如果确实要重新打开文件,则需要使用附加模式:FileWriter(“filename.txt”,true)
,但可能需要在循环之前打开BufferedWriter
,然后关闭它。注意:
必须在循环的之外打开和关闭writer对象
试试这个
public static void main(String[] args) throws Exception {
File dir = new File("C://Users//Test//Desktop//lists");
if (dir.isDirectory()) {
BufferedWriter writer = new BufferedWriter(new FileWriter("C://Users//Test//Desktop//logged.txt"));
for (File file : dir.listFiles()) {
String line1 = Files.readAllLines(Paths.get(file.getAbsolutePath())).get(0);
writer.write(line1);
writer.newLine();
}
writer.close();
}
}