Java 使用PrintWriter将字符串打印到文本文件,但当我打开文本文件时,它是空的

Java 使用PrintWriter将字符串打印到文本文件,但当我打开文本文件时,它是空的,java,file,text,printing,is-empty,Java,File,Text,Printing,Is Empty,我使用Java中的PrintWriter尝试将一些字符串写入文本文件,但是当我打开文本文件时,它是空的 这是我的密码: public void save(String fileName) throws FileNotFoundException{ PrintWriter out1 = new PrintWriter("aSB.txt"); out1.println("The Pupil's information is listed below:"); for (Pup

我使用Java中的PrintWriter尝试将一些字符串写入文本文件,但是当我打开文本文件时,它是空的

这是我的密码:

public void save(String fileName) throws FileNotFoundException{

    PrintWriter out1 = new PrintWriter("aSB.txt");
    out1.println("The Pupil's information is listed below:");
    for (Pupil pup : Pupils) {
       out1.println(pup.getFirstName() + " " + pup.getLastName());
    }
    out1.println("End");
    out1.println("The Club's information is listed below:");
    for (Club clu : Clubs) {
       out1.println(clu.getName());
    }
    out1.close();   
}

为什么文件名为空?

尝试捕获FileNotFoundException并查看创建文件时是否出错。 还可以尝试捕获SecurityException。 如果没有,请尝试使用FileOutputStream。它真的很容易使用
祝你好运

正如凯文所说,可能是目录问题。尝试指定完整路径,看看会发生什么

比如:

PrintWriter pw = new PrintWriter("c:/asb.txt");
或者,请参见


很可能数组是空的

检查aSB.txt文件,可能缺少文本。如何启动程序?也许你会惊讶于它认为它的工作目录是什么,文件应该在哪里。试着指定一个绝对路径(与上面Henrik所说的相关)。学生和俱乐部是空数组。在遍历它们之前打印它们的大小。你会看到它们是零。另外,请给出文件的完整路径:“C:\\aSB.txt”。文件可能未保存在您认为的位置。@EricLeschinski:即使数组为空,文件至少应包含“下面列出了学生/俱乐部的信息”和“结束”两行。是的,指定路径有效!我没有这样做的唯一原因是因为我在大Java中读到默认路径意味着它将在src中查找txt文件。谢谢你们的建议,伙计们!