读取文本文件中一行中的特定字符数,并将“读取字符”设置为JTextArea

时间:2014-01-17 08:48:18

标签: java swing text-files netbeans-7 jtextarea

我正在尝试从文本文件中读取文本,我已经可以使用system.out.print在系统上打印它。但是,如果我从文本文件中读取的文本中设置JTextArea的文本,则会显示“线程中的异常”主“java.lang.NullPointerException”。它实际上在印刷线上运行良好,我已经可以阅读我想要的内容但是,我不能将此文本放在JTextArea上。我该怎么办?

这是我的代码:

package mdiforms;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;
public class trylang extends javax.swing.JInternalFrame {

/** Creates new form trylang */
public trylang() {
    initComponents();
}



@SuppressWarnings("unchecked")

public static void main(String[] args) throws Exception {
    BufferedReader br = null;
    String path = "C:/Users/Pasusani/Desktop/tawa.txt";
    try {
        // change this value
        FileInputStream fis = new FileInputStream(path);
        br = new BufferedReader(new InputStreamReader(fis, "UTF-8"));
        String CurrentLine;
        while ((CurrentLine = br.readLine()) != null) {
            processLine(CurrentLine);


        }
    } finally {
        if (br != null) br.close();
    }
}

public static void processLine(String line) {
    // skip header & footer
    //if (line.startsWith("127.0.1.1/dev/sda1")) return;

    String name = line.substring(0, 1);
    String year = line.substring(0, 5);
    System.out.print("Name [" + name + "]\t Year [" + year +"]");
    String ewan = "Name [" + name + "]\t Year [" + year +"]";
    txt_try.setText(ewan);

}

}

1 个答案:

答案 0 :(得分:2)

processLine是一种static方法,我想在调用trylang之前需要创建txt_try.setText(ewan);的实例

我假设您正在txt_try初始化initComponents(); trylang,该txt_try ==> txtTry trylang ==> TryLang 在{{1}}的默认构造函数中调用。

<强>旁注:

请遵循Java命名约定

{{1}}