当我使用方法printf使用java将值写入文本文件时,我遇到一个奇怪的问题,结果确实很糟糕,我查阅了一些Java文档,并建议我使用格式化

("%-20s %-20s %-20s %-20s  %-20s %-20s%n",


结果真的不好

  for (int i=0 ; i<array.length ; i++)
   {
       texfile.printf("%-20s %-20s %-20s %-20s  %-20s %-20s%n", array[i].getName().getName(), array[i].getTittle() , array[i].getCodeISBN() , array[i].getDate() ,array[i].getPrice() , array[i].getNum() );
       book++;
   }


java - Java文本文件格式输出格式-LMLPHP

我做错了什么?

最佳答案

看起来getName().getName()getTittle()之一正在返回长度大于20的String。超出指定宽度的字符不会被java.io.PrintStream.printf()修剪。在java.util.Formatter Javadoc中:“宽度是要写入输出的最小字符数。”

10-07 23:02