当我运行此代码时,它可以正常工作,但它会将文件保存在'' / Users / alencerimpasic / Dokument / java2015 / projekt /''而不是'' / Users / alencerimpasic / Dokument / java2015 / projekt / Glosforhor''
public static void SparaTillFil(List<Glosförhör> data, String filnamn){
try {
String filename = "/Users/alencerimpasic/Dokument/java2015/projekt/Glosforhor/" + filnamn;
Glosförhör tempGlosförhör = new Glosförhör();
PrintWriter outFile = new PrintWriter(new BufferedWriter(new FileWriter(filnamn)));
int n;
for (n = 0; n < data.size(); n++) {
tempGlosförhör = data.get(n);
outFile.println(tempGlosförhör.getglosa() + "\n" +
tempGlosförhör.getöversättning() + "\n");
}
outFile.close();
}
catch(IOException e) {
JOptionPane.showMessageDialog(null,"It failed");
}
}//SparaTillFil ends
public static void GöraGlosförhör(List<Glosförhör> data, List<String> sl){
String språk = JOptionPane.showInputDialog(null, "Write the language the test will be on.");
String temp = JOptionPane.showInputDialog(null, "Write the ammount of words you're going to use in the test.");
int antal = Integer.parseInt(temp);
for(int n = 0; n < antal; n++) {
String glosa = JOptionPane.showInputDialog(null, "Write the word!");
String översättning = JOptionPane.showInputDialog(null, "Write the translation!");
data.add(new Glosförhör(glosa, översättning));
}
sl.add(språk);
SparaTillFil(data, språk + ".txt");
}//GöraGlosförhör ends
答案 0 :(得分:1)
虽然您创建了一个字符串filename
,但实际上并没有使用它。您使用new FileWriter(filnamn)
代替new FileWriter(filename)
。我假设
“/用户/ alencerimpasic /库门/ java2015 / PROJEKT /”
是项目根目录,因此FileWriter
只选择该项作为要保存的目录。
答案 1 :(得分:0)
你在哪里:
PrintWriter outFile = new PrintWriter(new BufferedWriter(new FileWriter(filnamn)))
我相信你想要:
PrintWriter outFile = new PrintWriter(new BufferedWriter(new FileWriter(filename)));
这是为什么非常类似命名的变量可能是源pf错误的一个例子。
答案 2 :(得分:0)
尝试替换
PrintWriter outFile = new PrintWriter(new BufferedWriter(new FileWriter(filnamn)));
带
PrintWriter outFile = new PrintWriter(new BufferedWriter(new FileWriter(filnamne)));