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);