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

时间:2013-11-25 19:46:19

标签: java android

我想使用Samsung Mobile Print应用程序打印以下帐单。我格式化它(使用String.format(%25s,itemName)),并且在google驱动器或OfficeSuite应用程序中查看文件时它们之间的空格相等。但是当我在任何打印应用程序,甚至是移动设备中的文本编辑器中打开它时,内容完全失真,格式化完成就像下面的文本一样丢失。

  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

  6. 我希望它看起来像下面的文字。

    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
    

1 个答案:

答案 0 :(得分:1)

如果您希望文本文件在列之间保持正确的缩进,则可以为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);

将打印输出:

1. Chapati                   70    1   70
2. Chicken Chettinad Full   130    1  130