2017-02-25 109 views
0

我试图将浮点数的数组列表存储到文件中。
我试着使用DataOutputStream来写入文件,它工作得很好,只是数据不是以可读的格式写入的。
我知道我必须使用打印编写器以文本格式写入数据,但不支持写入浮点。将浮点数组写入文件

PrintWriter writer = new PrintWriter("filename.txt"); 
writer.write(naiveNearestPoints(points.get(i))); //Gives an error 
writer.println(naiveNearestPoints(points.get(i)));//**updated** correct way to do it 

有没有我可以写浮动指向文件的可读格式的任何其他方式?

+0

的问题是,只有不合适的,因为你没有代码。请[编辑] –

+0

http://stackoverflow.com/questions/2885173/how-do-i-create-a-file-and-write-to-it-in-java Literally LMGTFY –

+0

尝试PrintWriter这是设计为文本。 DataOutputStream专为二进制数据而设计。 –

回答

0

这是什么意思?

它不支持写入浮点

PrintWriter可以,事实上,print(float)print(double)


如果不为你工作,那么如果你能System.out.print一个浮点,通过将System.out重定向到File,您几乎可以轻松地写入文件。

例如

File out = new File("out.txt"); 
try { 
    System.setOut(new PrintStream(out)); 
} catch (Exception e) { 
    e.printStackTrace(); 
} 

// loops over list, print with System.out.print 
+0

我试图做这样的事情PrintWriter作家=新的PrintWriter(“NaiveSolution.txt”); writer.write(naiveNearestPoints(points.get(I)));而且,因为这给了我一个错误,所以我认为我不能使用PrintWriter写浮点。但现在我明白了,谢谢! – smriti

+0

您没有在问题中显示代码。我的回答只是写入文件的一个例子,在Java中有几种方法可以执行 –

+0

我的坏处,我应该这样做。对不起,再次感谢! – smriti