【发布时间】:2014-02-20 01:58:06
【问题描述】:
我正在尝试写入一个仅包含我计划稍后处理的大块文本的文本文件。我必须处理许多变量组合,并且将它们全部输入太乏味。我试过两次运行这段代码,它所做的只是一遍又一遍地覆盖第一行,给我最后的变量组合。这是代码。
import java.util.*;
import java.io.*;
public class FileWritingThing {
public static void main(String[]args) throws IOException{
String precision = null;
String criteria = null;
String specLevel = null;
String precondLevel = null;
PrintWriter writer = null;
for(int i = 0; i < 3; i++){
if(i == 0){
precision = "Precision = 4;";
}
if(i == 1){
precision = "Precision = 8;";
}
if(i == 2){
precision = "Precision = 12;";
}
for(int j = 0; j < 3; j++){
if(j == 0){
criteria = "Objective Function;";
}
if(j == 1){
criteria = "Domain;";
}
if(j == 2){
criteria = "Objective Function + Domain;";
}
for(int k = 0; k < 3; k++){
if(k == 0){
specLevel = "Speculation Level = 10000;";
}
if(k == 1){
specLevel = "Speculation Level = 100000;";
}
if(k == 2){
specLevel = "Speculation Level = 1000000;";
}
for(int l = 0; l < 3; l++){
if(l == 0){
precondLevel = "Precondition Level = 0;";
}
if(l == 1){
precondLevel = "Precondition Level = 25;";
}
if(l == 2){
precondLevel = "Precondition Level = 100;";
}
writer.println(precision + "\n" + criteria + "\n" + specLevel + "\n" + precondLevel + "\n");
}
}
}
}
writer.close();
}
}
/*try {
writer = new PrintWriter(new BufferedWriter(new FileWriter("permutations.txt", true)));
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
*/
我只需要知道如何将每个块附加到文件行。此外,我遇到了一些奇怪的问题,即使我已经包含“\n”来分隔变量列表,但无论如何它都出现在一行上。底部的注释代码最初包含在“writer.println()”行之前。
【问题讨论】:
-
@JohnDorian 好的,它似乎解决了写入该文件的问题,但它不会打印到新行。再一次,文本都集中在一起。
-
尝试为您想要的每一行分别调用 writer.println(),不确定它是否有效,但值得一试。像 writer.println(precision); writer.println(标准); writer.println(specLevel);等
标签: java file text printwriter bufferedwriter