在下面的代码中,我尝试在文件中写入更多的文本行,但它只显示最后一行。BufferedWriter只打印文件的最后一行?
也许有人可能会帮助吗?
感谢
try (BufferedWriter writer = new BufferedWriter(new FileWriter(file, true))) {
writer.append("***");
writer.append(aF);
在下面的代码中,我尝试在文件中写入更多的文本行,但它只显示最后一行。BufferedWriter只打印文件的最后一行?
也许有人可能会帮助吗?
感谢
try (BufferedWriter writer = new BufferedWriter(new FileWriter(file, true))) {
writer.append("***");
writer.append(aF);
我觉得应该是
try {
BufferedWriter writer = new BufferedWriter(new FileWriter(file, true));
writer.append("***\r\n");
writer.append("more text here\r\n");
writer.close();
} catch (IOException ex) {
ex.printStackTrace();
}
我可能是错的,但我从来没有与try {}
编辑看到了:这个工作对我来说
非常感谢时间和帮助。
下面是我试过的一个测试代码,也许我们可以找出如何添加更多的行。
public class FsIterateTest {
File f;
String[] fsl;
String path = "C:/";
String ps;
File fp;
String ln;
String[] s;
List<String> contentAsList;
public static void main(String[] args) throws IOException {
new FsIterateTest().hfsList();
}
private void hfsList() throws IOException {
//System.out.println(ln);
fp = new File("C://");
fp.isDirectory();
System.out.println(fp.isDirectory());
s = fp.list();
contentAsList = Arrays.asList(s);
for(String fs : contentAsList){
this.ln = fs;
}hfsWrite(ln);
}
private void hfsWrite(String ln) throws IOException {
System.out.println(ln);
File nf = new File("C://db.txt");
FileWriter fw = new FileWriter(nf);
BufferedWriter bw = new BufferedWriter(fw);
bw.newLine();
bw.write(ln);
bw.append("\r\n");
bw.flush();
bw.close();
}
}
请使用您问题上的编辑链接添加其他信息。后回答按钮应该只用于问题的完整答案。 –
我很抱歉,好的,我会为其他问题做。 –
最后我解决了它,非常感谢。
这是由于for循环中的问题。开始给参数赋予字符串的方法必须在括号括起来的循环中。
对不起这个小错误。
for(String fs : contentAsList) {
this.ln = fs;
hfsWrite(ln);
}
IDE选择了这个。 –
woops我的坏,我认为这是C#,但显然它是Java。在下次指定你正在工作的语言时可能很有用。我会尝试做一个小测试项目,看看我能否找到解决方案 –
对不起,它是Java 8. String aF来自Array。在out.println(aF)上;它的作品,但不与作家(aF);。 –