ANDROID:如何格式化必须保存在文本文件中的文本

时间:2011-04-04 14:56:19

标签: java android

我有一个应用程序,我可以从数据库中选择数据,然后在TableView中显示结果。接下来我要做的是将所选数据(当前显示在TableView中)保存到文本文件中,这样它就可以复制到PC上并打印到纸上。我想要实现的是每列之间的空格相等。我正在使用这样的东西将文本保存到文件中:

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

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

3 个答案:

答案 0 :(得分:5)

您可以使用String.format函数来执行此操作。

例如:

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

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

您可以阅读格式字符串here

答案 1 :(得分:0)

为什么不将数据保存在HTML格式的文件中?然后,您可以使用HTML表标记构建表。

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

答案 2 :(得分:0)

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

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