Android 从txt格式读取数据

Android 从txt格式读取数据,android,Android,我正在将一些值保存到txt文件中,之后我希望能够在对话框中显示它。很好,这样做了,但是txt文件中的值格式很好,如下所示: Aaaaaaaa 0.55 1 Bbbbb 1 2.2 CCCCCCCCC 3 0.22 Aaaaaaaa 0.55 1 Bbbbb 1 2.2 CCCCCCCCC 3 0.22 当阅读并将它们设

我正在将一些值保存到txt文件中,之后我希望能够在对话框中显示它。很好,这样做了,但是txt文件中的值格式很好,如下所示:

Aaaaaaaa       0.55        1
Bbbbb          1           2.2
CCCCCCCCC      3           0.22
Aaaaaaaa      0.55         1
Bbbbb       1           2.2
CCCCCCCCC      3       0.22 
当阅读并将它们设置为文本视图时,它们会变得非常混乱,如下所示:

Aaaaaaaa       0.55        1
Bbbbb          1           2.2
CCCCCCCCC      3           0.22
Aaaaaaaa      0.55         1
Bbbbb       1           2.2
CCCCCCCCC      3       0.22 
我的写作方法:

FileOutputStream f = new FileOutputStream(file);
        PrintWriter pw = new PrintWriter(f);
        for (int n = 0; n < allpret.size() - 1; n++) {
            if (cant[n] != Float.toString(0)
                    && pret[n] != Float.toString(0)) {
                String myFormat = "%-20s %-5s %-5s%n";
                pw.println(String.format(myFormat, prod[n], cant[n],
                        pret[n]));
为什么它会破坏空间的数量?我如何修复它?
谢谢,祝你晚安

至少有两种解决方案:

  • 尝试通过
    textView.setTypeface(Typeface.MONOSPACE)
    将字体设置为单间距
  • 不要使用单一的文本视图,而是根据需要使用不同的文本视图进行布局。例如,它非常擅长这种情况,并且在所有Android版本中都可用。如果需要,可以通过编程方式添加行,因此这不是问题

  • 您是否尝试过使用制表符
    \t
    字符?类似这样的内容:
    String myFormat=“%-20s\t\t%-5s\t\t%-5s%n”是的,同样的事情。问题不在于写它,而在于读或看它。无论如何,谢谢!太好了,它修好了。为什么?如果可以,请解释一下,我希望能理解,呵呵,谢谢@排序重复使用单间距字体?这是因为通常字体有不同的字符宽度,所以如果你有一个字符串,比如说,10个字符,没有任何东西可以保证它与其他10个字符的字符串的宽度完全相同。因此,对齐可以完全关闭。但是,对于单间距字体,所有字符都保证具有相同的宽度,因此具有相同字符数的两个字符串将始终具有完全相同的宽度。