2011-04-04 73 views
3

我有一个应用程序,可以从数据库中选择数据,然后在TableView中显示结果。接下来我要做的是将所选数据(目前在TableView中显示)保存到文本文件中,以便将其复制到PC上并打印到纸上。我试图实现的是每列之间的空格相等。我用这样的文本保存到文件:ANDROID:如何格式化必须保存在文本文件中的文本

out.write("\n "+name+" \t"+amount+" \t"+price); 

但是在文本编辑器打开该文件后,它看起来并不好。这是正确的方法吗?如果不是什么?

回答

5

您可以使用函数String.format来做到这一点。

例如:

out.write (String.format("%s %10d %10d", name, amount, price)); 

此代码将打印name.toString(),然后在整数与10个字符宽度字段量和价格。

您可以阅读有关格式字符串here

+0

谢谢,这就是我一直在寻找的。 – user691285 2011-04-05 10:01:31

0

为什么不将数据保存在HTML格式的文件中?然后你可以用HTML表格标签建立你的表格。

或者,由于要将报告打印成纸张,因此您可能需要尝试保存为更易打印的PDF格式。我认为有几种免费/开源PDF编写器库用于Java。也许其中一些也可以用于Android。

0

如果你有一定的列数据的最大长度(让它是静态的或动态计算),你可以做这样的事情;

String column = "     "; // enough spaces for actual data. 
out.write(name + column.substring(name.length)); 
etc..