2014-01-17 2 views
0

Я пытаюсь прочитать текст из текстовых файлов, и я уже могу его распечатать на системе с помощью system.out.print. Но если я установил текст JTextArea из текста, который я прочитал в текстовом файле, он показывает «Исключение в потоке» основного «java.lang.NullPointerException». На самом деле это хорошо работает в печатных линиях, и я уже могу читать то, что хочу, но я не могу поместить этот текст на JTextArea. Что мне делать?Чтение определенного количества символов в строке в текстовом файле и установка «прочитанных символов» на 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); 

} 

} 
+0

где NPE? какая линия? – sanbhat

+0

этого недостаточно. Сообщение SSCCE, чтобы проиллюстрировать проблему – StanislavL

+0

Исключение из потока «main» java.lang.NullPointerException на mdiforms.trylang.processLine (trylang.java:110) на mdiforms.trylang.main (trylang.java:91) Java Результат: 1 –

ответ

2

processLine является static метода и здесь я думаю, вам нужно создать экземпляр trylang перед вызовом txt_try.setText(ewan);

Я предполагаю, что вы инициализацию txt_try в initComponents();, который вызванный в конструкторе по умолчанию trylang.

Sidenote:

СЛЕДУЕТ Java именования

txt_try ==> txtTry 
trylang ==> TryLang