我正在尝试使用Java将一系列行写入文本文件。
代码:
File file = new File("file.txt");
FileWriter writer = new FileWriter(file,true);
for (first for loop) {
for (second for loop) {
if (condition TRUE){
writer.write(element1 + element2.toString()+"\n");
}
else {
writer.write("-"+ element1 + element2.toString()+"\n");
}
}
}
错误:
只创建了一个空文件。请,任何建议都会有所帮助
答案 0 :(得分:0)
替换它:
FileWriter writer = new FileWriter(file,true);
使用:
BufferedWriter writer = new BufferedWriter(new FileWriter(file,true));
最后:
writer.close();
答案 1 :(得分:0)
您提供的代码段没有任何问题。问题可能是,conditions
循环中的for
和if
语句永远不会得到满足。因此,您的代码永远不会到达
writer.write(element1 + element2.toString()+"\n");
。
除非您提供实际代码,否则能够提供帮助。
此外,您必须确保file.txt
存在。如果在Windows环境中使用类似C:\\Users\\YOUNG MILLIE\\Documents\\file.txt
的绝对路径,那会更好。
因为我试过这个例子而且效果很好。
File file = new File("C:\\Users\\YOUNG MILLIE\\Documents\\file.txt");
FileWriter writer = new FileWriter(file,true);
for (int i = 0; i <= 100;i++) {
for (int k = 0; k <= 50;k++) {
if (i <=50 ){
writer.write(k +"\n");
}
else {
writer.write("-"+ k +"\n");
}
}
}
writer.close();
答案 2 :(得分:-1)
以下是代码的外观,您可以在适用的地方替换您的逻辑。
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
public class WriteAFile {
public static void main(String [] args) {
String element1="First Element";
Integer element2=10;
FileWriter writer = null;
try {
writer = new FileWriter(new File("file.txt"), true);
for (int i=0; i<5; i++) {
for (int j=0; j<5; j++) {
if (true){ //Write the condition here
writer.write(element1 + element2.toString()+"\n");
}
else {
writer.write("-"+ element1 + element2.toString()+"\n");
}
}
}
writer.close();
}
catch (IOException ioe) {
ioe.printStackTrace();
}
}
}