Java 如何在android中格式化和打印文本文件?

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

我想使用三星手机打印应用程序打印以下账单。我格式化了它(使用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