2

解答: 您不能将 int 直接写入文件。首先将其转换为字符串。


原始问题:

我知道这可能听起来像一个菜鸟问题,但我无处可去。

我正在尝试让 Java 将 Epoch(时间戳)写入 .session 文件(不要问)。它似乎没有做任何事情。这是我所拥有的:

    gamesession = new File(SESSION_LOCATION);   // Sets the .session file

    if(gamesession.exists()){
        gamesession.delete();
        gamesession.createNewFile();

        FileWriter stream = new FileWriter(SESSION_LOCATION);
        BufferedWriter out = new BufferedWriter(stream);

        out.write(GetTimestamp());
        out.flush();
    }                       // These blocks write the Epoch to the .session file for later time
    else{
        gamesession.createNewFile();

        FileWriter stream = new FileWriter(SESSION_LOCATION);
        BufferedWriter out = new BufferedWriter(stream);

        out.write(GetTimestamp());
        out.flush();
    }

是的,该方法被声明为抛出 IOException(@runtime没有发生)。问题是,我正在写入的 .session 文件总是显示为空。我是不是刷错了?请帮助我对此有所了解。谢谢你的时间。

仅供参考: Epoch 的计算是正确的,就像我一样System.out.println(GetTimestamp())

GetTimestamp() 是我的方法。它是静态的。

4

1 回答 1

2

您还需要确保调用该out.close()方法。我注意到有时在处理文件时,如果你不关闭它们,内容就不会显示出来。

GetTimestamp()返回什么类型?根据BufferedWriter API,write 方法采用一个应该是字符的 int。我怀疑您的时间戳是单个字符。

于 2012-04-04T05:30:10.660 回答