将字符串写入java中的固定格式文件

时间:2011-09-09 06:22:44

标签: java string file-io

我有几个带有四个字符串属性的java对象,如下所示:

例如说object1的值为

String one = "abcd"; //length 4
String two = "efghij"; //length 6
String three = "klmnop"; //length 6
String four = "qrs"; //length 3

我想将以上数据输出到固定格式的文件中。

格式为:一个是10个字符,两个是8个字符,三个是9个字符,四个是10个字符。

所以上面的例子如下:     6spaces + ABCD + 2spaces + efghij + 3spaces + klmnop + 6spaces + QRS

因此,我想要实现的是将每个字符串转换为文件所需的适当长度,然后将它们推送到文件中。

如何最有效地实现这一目标?

2 个答案:

答案 0 :(得分:3)

最简单的方法可能是使用String.format()

String formatted = String.format("%10s%8s%9s%10s", one, two, three, four);

format syntax can be found here

的说明

答案 1 :(得分:0)

如果您有特定的前缀(或后缀),您可以:

创建一个带前缀(或siffixes)的字符串数组,其长度对应于缺失符号的长度,如:

String[] prefixes = {"", "#", "##", ...};
int desiredLength = 10;
String four = "abc";
four = prefixes[desiredLength - four.length] + four;