从文件读入JTextArea

时间:2014-04-30 15:04:58

标签: java swing file-io jtextarea

我试图从文本文件中读取GUI中的JTextArea。但文字没有出现。我的文本区域内有一个滚动区域,但如果我尝试将文件读取到此处,则会出现错误,因此我将其读取到TextArea,但我不确定这是否正确。

String readFrom = "C:\\Users\\john\\directory.txt";
    int num;
    String line;

    Scanner inFile = new Scanner(new FileReader(readFrom));
    BufferedReader in = new BufferedReader(new FileReader(readFrom));
    num = inFile.nextInt();



JTextArea table = new JTextArea(55, 15);       //text area for directory
    JScrollPane table1  = new JScrollPane(table);
    table.setEditable(false);
    panel.add(table1);

    for( int i=0; i< num; i++){
        line = in.readLine();
        table.read(in, "table1");
        }

2 个答案:

答案 0 :(得分:4)

使用read(...)的{​​{1}}方法。它将为您读取文件中的文本。

答案 1 :(得分:0)

使用它来读取文件并返回带有文本的字符串:

String readFile(String fileName) throws IOException {
BufferedReader br = new BufferedReader(new FileReader(fileName));
try {
    StringBuilder sb = new StringBuilder();
    String line = br.readLine();

    while (line != null) {
        sb.append(line);
        sb.append("\n");
        line = br.readLine();
    }
    return sb.toString();
} finally {
    br.close();
}
}

然后通过append()方法将字符串添加到文本区域:

table.append(readFile(fileName));