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

Java ANDROID:如何格式化必须保存在文本文件中的文本,java,android,Java,Android,我有一个应用程序,我可以从数据库中选择数据,然后在TableView中显示结果。接下来我要做的是将所选数据(当前显示在TableView中)保存到文本文件中,这样它就可以复制到PC上并打印到纸上。我试图实现的是每列之间的相等空间。我正在使用类似的方法将文本保存到文件: out.write("\n "+name+" \t"+amount+" \t"+price); 但是在文本编辑器中打开文件后,它看起来不太好。这是正确的方法吗?如果不是什么?为什么不将数据保存在HTML格式的文件中?然后,您可以

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

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

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

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


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

您可以使用函数String.format来实现这一点

例如:

out.write ( String.format("%s %10d %10d", name, amount, price) );
这段代码将打印name.toString(),然后在10个字符宽的字段中对金额和价格进行整型


您可以阅读有关格式化字符串的内容。

如果列数据具有特定的最大长度(静态或动态计算),则可以执行以下操作:

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

谢谢,这就是我一直在找的。