Java格式输出来自RAF的字符串

时间:2015-03-07 17:19:24

标签: java string format randomaccessfile

我试图在文本区域GUI中输出来自RAF的数据。我得到输出(标题长度不同,但最多35个字符),但所有将String放入列的尝试都失败了。

这就是我目前所拥有的:

while (count < noItems) {

    String title = "";
    for (int i = 0; i < 35; i++) {
        title += raf.readChar();
    }

    int noCopies = raf.readInt();
    double price = raf.readDouble();


   result+=String.format("%-40s", title);
   result+=(noCopies+"\t "+ twoDigit.format(price)+"\n"); 
    count++;
}
mainTextArea.setText(result);

1 个答案:

答案 0 :(得分:0)

当您在一个字符串result中添加所有列时,可能超过字符串的最大长度(2 ^ 31 - 1)(因此所有尝试将String放入列中失败)。每次在mainTextArea循环中尝试添加JTextArea(while)中的每个列。试试这段代码,

while (count < noItems) {

String title = "";
for (int i = 0; i < 35; i++) {
    title += raf.readChar();
}

int noCopies = raf.readInt();
double price = raf.readDouble();


result = String.format("%-40s", title) + (noCopies+"\t "+ twoDigit.format(price)+"\n"); 
mainTextArea.setText(result);
count++;

}