簡體   English   中英

使bufferedreader從循環到下一行?

[英]Making bufferedreader from loop, to next line?

不好意思稱呼,不知道該怎么稱呼! 基本上,我在下面進行了循環以顯示文件的前六行,並進行了排序。 不過,在顯示六行時,我不確定如何使它們每次出現在不同的行中。 我得到的最接近的是,在循環中包含joptionpane,顯示一行,然后在下一個等人的下一個joptionpane上顯示。 底部的第二個joptionpane顯示所有行,但顯示在同一行而不是下一行,等等。我應該如何使它每次出現在下一行? \\ n似乎不起作用。

private static void doOptionTwo(int balance) throws IOException {

    JOptionPane.showMessageDialog(null, "Option two selected ");
    String sum = null;
    BufferedReader br = null;
    br = new BufferedReader(new FileReader("file1.txt"));
    for (int i = 1; i <= 6; i++){
    String line1 = br.readLine();
    //JOptionPane.showMessageDialog(null, line1);
            sum = sum + line1;

    }

    if (br != null)br.close();
    String log = sum;
    JOptionPane.showMessageDialog(null, log);

}

使用StringBuilder代替初始化為null的String。 您可以使用以下代碼做任何您想做的事情:

 StringBuilder stringBuilder = new StringBuilder();
 String newLineCharacter = System.getProperty("line.separator");
 for (int i = 1; i <= 6; i++){
     stringBuilder.append(br.readLine());
     stringBuilder.append(newLineCharacter);//note: will add new line at end as well..
}

每次在您的String中插入break即可:

for (int i = 1; i <= 6; i++) {
    String line1 = br.readLine(); 
    sum += line1 + "\n";
}

您可以在兩行之間添加"\\n"

String sum = "";
for (int i = 1; i <= 6; i++){
    String line1 = br.readLine();
    sum += line1 + "\n";
}

或更恰當地,使用StringBuilder

StringBuilder sb = new StringBuilder();
for (int i = 1; i <= 6; i++){
    String line1 = br.readLine();
    if (sb.length() > 0) {
        sb.append('\n');
    }
    sb.append(line1);
}
String sum = sb.toString();

這樣更有效:

    JOptionPane.showMessageDialog(null, "Option two selected ");
    StringBuilder build = new StringBuilder();
    BufferedReader br = null;
    br = new BufferedReader(new FileReader("file1.txt"));
    for (int i = 1; i <= 6; i++){
    String line1 = br.readLine();
    //JOptionPane.showMessageDialog(null, line1);
             build.append(sum).append("\n");
    }

    if (br != null)br.close();
    System.out.println(build.toString());

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM