解答: 您无法直接将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();
}
是的,该方法 DECLARED 抛出IOException(没有发生@ runtime)。问题是,我写的.session文件总是空着。我错了吗?请帮助我对此有所启发。谢谢你的时间。
仅供参考:正如我System.out.println(GetTimestamp())
所做的那样,正确计算了纪元。
GetTimestamp()是我的方法。这是静态的。
答案 0 :(得分:2)
您还需要确保调用out.close()
方法。我注意到有时在处理文件时,如果你不关闭它们,内容就不会显示出来。
GetTimestamp()
还会返回什么类型?根据{{3}},write方法接受一个应该是字符的int。我怀疑你的时间戳只是一个字符。