java - 在保存的 txt 文件中排列文本

标签 java android

我制作了一个应用程序,它接受一些值并将它们添加到一个 txt 文件中。 它做这样的事情,它们是 strings[] :

product[1]  quantity[1]  price[1]
product[2]  quantity[2]  price[2]
.....
product[n]  quantity[n]  price[n]

问题是,大多数时候产品 [1] 的长度与产品 [2] 或其他产品的长度不同,数量和价格也是如此。这会导致文本布局困惑,例如这个。

ww    2    4
wwww    1    2.5
w    1.2    1.1

有什么方法可以让它更整洁吗?像创建表或列之类的东西? 谢谢!

编辑:为了让它更清楚一点,我想找到一种方法来排列 txt 文件中的内容,而不是上面示例中的内容

ww      2      4
wwww    1      2.5
w       1.2    1.1

目前我正在使用这个 pw.println(prod[n]+""+cant[n]+""+pret[n]);} 但这会使 txt 文件中的文本未对齐(示例 1)

最佳答案

像这样使用 String 类的 format 方法: 使用以下格式声明一个字符串

String yourFormat = "%-10s %-10s %-10s%n"; //choose optimal ranges. 
//if you exceed them, it will always automatically make one space 
//between the next column

用该格式写输出:

output.write(String.format(yourFormat, firstString, secondString, thirdString));

第一个字符串是你的 w,第二个和第三个是带有数字的列。

以你的例子为例:

String myFormat = "%-10s %-10s %-10s%n";
for(int i=0;i<prod.length();i++){
   pw.println(String.format(myFormat, prod[n], cant[n], pret[n]));
}

更多信息 herehere

关于java - 在保存的 txt 文件中排列文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17076783/

相关文章:

java - 接口(interface)没有声明它抛出,但文档说它可以抛出

android - 如何在 Android 中获取相对于另一个 View 的 View 位置?

android - 有什么方法可以从 android 上收到的短信中获取发件人电话号码?

java - 不要将文本显示与设置的文本连接起来,而是使用 android 资源?

java - 使用 JAVA 的 struts2 中的简单登录 Web 应用程序的第二页未加载?

java - 在 Glassfish 上部署后,在 META-INF/lib 中找不到类,尽管所有 jar 都在那里

java - 支柱 2 <s :select> filling other fields within a form

android - 使用 Cordova 在 Android 中记录并获取音量以生成波形

java - 如何将 jsonobject 添加到我想要的 jsonarray 中

java - ByteBuddy - 获取在拦截()内声明类的注释