为什么我的代码会创建.txt文件,但不会在其中写入信息?

GFV*_*450 2 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");
    }
}
}
Run Code Online (Sandbox Code Playgroud)

jav*_*vac 6

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

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

    //...
} catch (IOException e) {
    //...
} finally {
    pw.close();
    fw.close();
}
Run Code Online (Sandbox Code Playgroud)

或者,您也可以使用try-with-resources语句,它将自动关闭编写器:

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