java - 为什么我的代码创建了一个 .txt 文件,但没有在其中写入信息?

标签 java file

非常不言自明的标题。为什么我的程序没有将文本写入 .txt 文件?这是代码:

package juego;  
import java.io.*;
/**
*
* @author Administrador
*/
public class Archivo 
{
    public void crearArchivo()
    {
    try
    {
        FileWriter fw = new FileWriter("ReglasDelTablero.txt");
        PrintWriter pw = new PrintWriter(fw);

        pw.println("<7,0> , <0,0>");
        pw.println("<4,1> , <7,2> | <2,7> , <5,5> | <1,2> , <7,4> | <0,4> , <2,5>");
        pw.println("<7,7> , <3,6> | <6,4> , <3,5> | <4,0> , <2,1> | <2,4> , <0,3>");
    } 
    catch(IOException e)
    {
        System.out.println("error");
    }
}
}

最佳答案

您必须关闭编写器,以便更改显示在文本文件中。 finally block 确保即使发生错误也会发生这种情况。

try {
    FileWriter fw = new FileWriter("ReglasDelTablero.txt");
    PrintWriter pw = new PrintWriter(fw);

    //...
} catch (IOException e) {
    //...
} finally {
    pw.close();
    fw.close();
}

或者你也可以使用 try-with-resources statement ,这将自动关闭编写器:

try (FileWriter fw = new FileWriter("ReglasDelTablero.txt");
    PrintWriter pw = new PrintWriter(fw);)
{
    //...
} catch (IOException e) {
    //...
}

关于java - 为什么我的代码创建了一个 .txt 文件,但没有在其中写入信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29996069/

相关文章:

java - 在 CentOS 6 中设置 JAVA_HOME 和 CLASSPATH

centos - 没有生成堆转储时的正确策略

Bash:获取文件类型的标准程序

c++ - 检查文件是否稀疏

java - 如何从文本 zip 文件中读取内容?

java - e JUnit 测试是否有可能判断它是否在 Eclipse 中运行(而不是 ant)

java - 如何在没有安装java的情况下制作在PC上运行的Java项目的Exe

windows - 如何在 Windows 的命令行中创建一个空文件?

java - 是否有针对 Java 中的 XA 事务文件访问的开源解决方案?

file - Neo4j:如何将评论添加到* .cql(密码)文件中?