【问题标题】:No output to file using PrintWriter使用 PrintWriter 没有输出到文件
【发布时间】:2012-10-22 01:09:59
【问题描述】:

我没有收到任何编译错误,但我的代码没有向保存的文件输出任何内容。代码确实创建了文件,但它们是空的。有人看到我做错了吗?

public class CellAutomataTest {
  public static void main(String[] args)
  {
    int rule = 120;//Integer.parseInt(args[0]);
    int numGen = 5;//Integer.parseInt(args[1]);
    String fileStem = "ca";//args[2];
    int width = 400;//Integer.parseInt(args[3]);
    int height = 400;//Integer.parseInt(args[4]);

    CellAutomata test = new CellAutomata(numGen, rule);

    PrintWriter writer = null;
    try {
        writer = new PrintWriter(new FileWriter(fileStem + ".js"));
    } catch (IOException ex) {
        Logger.getLogger(CellAutomataTest.class.getName()).log(Level.SEVERE, null, ex);
    }
    PrintWriter writer2 = null;
    try {
        writer2 = new PrintWriter(new FileWriter(fileStem + ".html"));
    } catch (IOException ex) {
        Logger.getLogger(CellAutomataTest.class.getName()).log(Level.SEVERE, null, ex);
    }

    writer.println("function draw() {");
    writer.println("var canvas = document.getElementById('CellAutomata');");
    writer.println("if (canvas && canvas.getContext) {");
    writer.println("var context = canvas.getContext('2d');");

    test.simulate(writer, width, height);

    writer2.println("<html>");
    writer2.println("<head>");
    writer2.println("<script src=\"" + fileStem + ".js></script>");
    writer2.println("<style type=\"text/css\">");
    writer2.println("canvas { border: 1px solid black; }");
    writer2.println("</style> </head>");
    writer2.println("<body onload=\"draw();\">");
    writer2.println("<h1>Cellular Automata with Rule " + rule + "</h1>");
    writer2.println("<canvas id=\"CellAutomata\" width=\"" + width + "\" height=\"" + height + "\">");
    writer2.println("<p>Your browser doesn't support canvas.</p>");
    writer2.println("</canvas> </body> </html>");
  }
}

【问题讨论】:

    标签: java printwriter


    【解决方案1】:

    你需要使用:

    writer2.flush();
    writer2.close();
    

    实际保存文件。

    【讨论】:

    • 其实他需要的只是关闭文件。关闭确实会刷新已写入输出流的内容。
    • 谢谢。我是 Java 新手,所以我不知道我必须包括它。我应该知道有一些命令可以这样做。无论如何,现在我已经成功保存到文件中,并且发现它并没有像怀疑的那样创建网格,所以现在真正的乐趣开始了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-19
    • 1970-01-01
    • 2018-12-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多