我有一个应用程序,可以从数据库中选择数据,然后在TableView中显示结果。接下来我要做的是将所选数据(目前在TableView中显示)保存到文本文件中,以便将其复制到PC上并打印到纸上。我试图实现的是每列之间的空格相等。我用这样的文本保存到文件:ANDROID:如何格式化必须保存在文本文件中的文本
out.write("\n "+name+" \t"+amount+" \t"+price);
但是在文本编辑器打开该文件后,它看起来并不好。这是正确的方法吗?如果不是什么?
我有一个应用程序,可以从数据库中选择数据,然后在TableView中显示结果。接下来我要做的是将所选数据(目前在TableView中显示)保存到文本文件中,以便将其复制到PC上并打印到纸上。我试图实现的是每列之间的空格相等。我用这样的文本保存到文件:ANDROID:如何格式化必须保存在文本文件中的文本
out.write("\n "+name+" \t"+amount+" \t"+price);
但是在文本编辑器打开该文件后,它看起来并不好。这是正确的方法吗?如果不是什么?
您可以使用函数String.format来做到这一点。
例如:
out.write (String.format("%s %10d %10d", name, amount, price));
此代码将打印name.toString(),然后在整数与10个字符宽度字段量和价格。
您可以阅读有关格式字符串here。
为什么不将数据保存在HTML格式的文件中?然后你可以用HTML表格标签建立你的表格。
或者,由于要将报告打印成纸张,因此您可能需要尝试保存为更易打印的PDF格式。我认为有几种免费/开源PDF编写器库用于Java。也许其中一些也可以用于Android。
如果你有一定的列数据的最大长度(让它是静态的或动态计算),你可以做这样的事情;
String column = " "; // enough spaces for actual data.
out.write(name + column.substring(name.length));
etc..
谢谢,这就是我一直在寻找的。 – user691285 2011-04-05 10:01:31