大家好,
我有一个 long 数组,我想将其写入 .txt 文件,稍后可以在 gedit 中打开该文件(每行一个数字)。我通过使用 System.currentTimeMillis() 的两个实例相减来获得这些值。
我使用以下代码:
BufferedWriter out = new BufferedWriter(new FileWriter("latency.txt"));
for (int i = 0; i < USER_LIMIT; ++i) {
out.write(latency[i] + "\n");
}
out.close();
当查看文件时,我确实看到:
0
1
1
0
我相信字符串连接将长整型转换为整数。如果我使用 DataOutputStream,那么我无法使用 gedit 或任何记事本/文本编辑器读回它,它看起来就像垃圾(我相信它正在写入字节)。
有人可以告诉我如何解决我的问题吗?
非常感谢!
最佳答案
你的代码没有任何问题。您所认为的延迟
...事实并非如此。
public static void main(String[] args) throws IOException
{
long[] latency = { 123456789000L, 234567890000L, 345678901000L };
BufferedWriter out = new BufferedWriter(new FileWriter("latency.txt"));
for (int i = 0; i < 3; ++i) {
out.write(latency[i] + "\n");
}
out.close();
}
产生:
$ more latency.txt
123456789000
234567890000
345678901000
当您遇到这样的代码问题时,编写一个小测试用例来缩小问题范围通常很有帮助。
关于java - 在 Java 中将 long(原始类型)写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7409953/