Java 读取每行特定字符数内的文本文件

Java 读取每行特定字符数内的文本文件,java,text-files,netbeans-7,jtextfield,Java,Text Files,Netbeans 7,Jtextfield,我正在尝试从文本文件中读取文本,我已经可以使用system.out.print在系统上打印它了。但是,如果我根据在文本文件上读取的文本设置JTextArea的文本,它会在线程main java.lang.NullPointerException中显示Exception。实际上,它在打印行中运行良好,我已经可以阅读我想要的内容,但是,我不能将此文本放在JTextArea上。我该怎么办 这是我的密码: package mdiforms; import java.io.BufferedRea

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

这是我的密码:

 package mdiforms;
    import java.io.BufferedReader;
    import java.io.FileReader;

    public class FR 
    {
    public static void main (String[] args) throws Exception
    {
            String path  = ("C:/Users/Pasusani/Desktop/try.txt");
    FileReader file = new FileReader(path);
        BufferedReader reader = new BufferedReader(file);

    String text = "";
    String line = reader.readLine();
    while (line !=null)
    {
        text += line;
        line = reader.readLine();
               String setText = line.substring(0,1);
             txtLine.setText(setText); 
    }
    System.out.println(text);

    }       

}

您的JTextArea txtLine对象未初始化,请尝试使用txtLine=new javax.swing.JTextArea

将输出流重定向到jTextArea,并如下设置输出流:

    ....
    {
    OutputStream out1 = new OutputStream() {
        @Override
        public void write(final int b) throws IOException {
            updateTextPane(String.valueOf((char) b));
        }

        @Override
        public void write(byte[] b, int off, int len) throws IOException {
            updateTextPane(new String(b, off, len));
        }

        @Override
        public void write(byte[] b) throws IOException {
            write(b, 0, b.length);
        }
    };

    System.setOut(new PrintStream(out1, true));
  }
  ....

  private void updateTextPane(final String text) {
    SwingUtilities.invokeLater(new Runnable() {
        @Override
        public void run() {
            Document doc = jTextArea.getDocument();
            try {
                doc.insertString(doc.getLength(), text, null);
            } catch (BadLocationException e) {
                throw new RuntimeException(e);
            }
        }
    });
 }

现在使用System.out.printlntext;它会将文本打印到jTextArea而不是控制台上。

您可以将代码片段张贴在您试图将其放入jTextArea的位置吗?请张贴您的真实代码。txtLine不知从何而来。您可能没有初始化txtLine.private javax.swing.JScrollPane jScrollPane1;私有javax.swing.JScrollPane-jScrollPane2;私有静态javax.swing.JTextArea txtLine;公共静态javax.swing.JTable wa;txtLine sir是一个JTEXT区域