Java 如何在android中格式化和打印文本文件?
我想使用三星手机打印应用程序打印以下账单。我格式化了它(使用String.format(%25s,itemName)),在google drive或OfficeSuite应用程序中查看文件时,它们之间的空格相等。但是,当我在任何打印应用程序中打开它,甚至在移动设备中的文本编辑器中打开它时,内容完全失真,所做的格式设置也会丢失,就像下面的文本一样Java 如何在android中格式化和打印文本文件?,java,android,Java,Android,我想使用三星手机打印应用程序打印以下账单。我格式化了它(使用String.format(%25s,itemName)),在google drive或OfficeSuite应用程序中查看文件时,它们之间的空格相等。但是,当我在任何打印应用程序中打开它,甚至在移动设备中的文本编辑器中打开它时,内容完全失真,所做的格式设置也会丢失,就像下面的文本一样 鸡肉切丁半熟70 1 70 全鸡Chettinad 130 1 130 安得拉咖喱鸡70 1 70 安得拉咖喱鸡130 1 130 查帕蒂10 1 10
1. Chicken Chettinad Half 70 1 70
2. Chicken Chettinad Full 130 1 130
3. Andhra Chicken Curry 70 1 70
4. Andhra Chicken Curry 130 1 130
5. Chapati 10 1 10
如果希望文本文件在列之间保持正确的缩进,可以在
String.format
调用中为每列提供最大宽度和对齐方式。例如,此代码:
String[] name = {"Chapati", "Chicken Chettinad Full"};
int[] price = {70, 130};
int[] quantity = {1, 1};
String res = "";
for (int i = 0; i < name.length; ++i) {
res += String.format("%2d. %-23s %4d %4d %4d%n", i + 1, name[i],
price[i], quantity[i], price[i] * quantity[i]);
}
System.out.println("res = \n" + res);
当您将代码打印到文本文件,然后打开此.txt文件时,格式是否保留,即您的输出字符串是否包含正确的间距?我将文本文件上载到Google Drive,可以看到格式是否保留,但如果我使用任何文本编辑器打开文件,或者,当我单击“打印”时,它会以扭曲的格式进入打印应用程序,如第一个示例所示。
1. Chapati 70 1 70
2. Chicken Chettinad Full 130 1 130