Java 如何将内容写入文件
我无法向该文件追加或写入任何内容 但我可以从文件中读取内容 我的代码有什么问题吗? 若代码是正确的,但仍然面临问题,那个么可以刷新上下文。它“冲水”Java 如何将内容写入文件,java,Java,我无法向该文件追加或写入任何内容 但我可以从文件中读取内容 我的代码有什么问题吗? 若代码是正确的,但仍然面临问题,那个么可以刷新上下文。它“冲水” 这个链接可以帮助你 听起来您可能正在写入一个文件,但不是您希望写入的文件。如果没有抛出异常(并且吞下异常,只是将其写入标准输出,很少是正确的方法),那么文件将存在于某个地方 它将位于代码运行的任何目录中—这可能与包含您正在读取的sample.txt文件的目录不同。我建议您研究文件系统,并检查Eclipse中的运行配置,以查看应用程序的工作目录 另一
这个链接可以帮助你 听起来您可能正在写入一个文件,但不是您希望写入的文件。如果没有抛出异常(并且吞下异常,只是将其写入标准输出,很少是正确的方法),那么文件将存在于某个地方 它将位于代码运行的任何目录中—这可能与包含您正在读取的
sample.txt
文件的目录不同。我建议您研究文件系统,并检查Eclipse中的运行配置,以查看应用程序的工作目录
另一方面,您应该在finally
块中关闭writer,这样即使出现异常,它也会被关闭,如下所示:
try {
File file = new File("sample.txt");
FileWriter fw = new FileWriter(file,true);
fw.append('d');
fw.write(100);
fw.close();
} catch(IOException exp) {
exp.printStackTrace();
}
很明显,你可以不用它,但它会让事情变得简单很多——不仅仅是在这里。如果您使用的是Java 7,您可以使用一个。使它变得更简单,就像在构建/清理过程中清除文件之前所说的那样。尝试指定文件的绝对路径并再次运行。你所写的一切都是正确的,没有已经提供的更正
File file = new File("sample.txt");
FileWriter fw = null;
try {
fw = new FileWriter(file, true);
fw.append('d');
fw.write(100);
} catch(IOException) {
// Ideally do something to indicate the failure to the caller
// - do you need to catch this at all?
e.printStackTrace();
} finally {
// From Guava
Closeables.closeQuietly(fw);
}
您可以尝试使用以下语法:
try {
File file = new File("C:\sample.txt"); // for Windows or possibly just "/sample.txt" for *nix
FileWriter fw = new FileWriter(file,true);
fw.append('d');
fw.write(100);
} catch(IOException e) {
e.printStackTrace();
} finally {
// Good practice to move close to a finally block
fw.close();
}
您的代码是正确的,因为catch子句中缺少“e”变量名。请检查运行代码的路径和权限。如果您使用的是ide it或构建脚本,它可能会在每次运行之前清除您正在运行的驱动器。@Harry Joy:我没有收到任何异常。@Neil Essy:我使用的是Ecllipse Helios。我的文本文件sample.txt在我的工作区中。我把它作为一个普通的java应用程序运行。@Priya我已经修改了它。此代码正在工作!将输出设置为
dd
Thak,谢谢。现在开始工作了。我刚刚重新启动了IDE,它工作了。@SanjayT.Sharma只是为了证明她的代码是正确的。没有别的了
String filename = "C:/sample.txt";
FileWriter fw = new FileWriter(filename,true);