Wyświetlanie pliku txt w jTextArea.

0

Witam
za pomocą buttona z JfileChooser wybieram plik txt którego ścieżkę wyswietlam w textFieldzie:

public void chooseFile() {
        final JFileChooser fc = new JFileChooser();
        fc.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
        int returnVal = fc.showOpenDialog(fc);
        if (returnVal == JFileChooser.APPROVE_OPTION) {
            f = fc.getSelectedFile();
            jTextField1.setText(f.getAbsolutePath());}}

Potrzebuje wyswietlic zawartosc tego pliku w textArea. Znalazłem taką metodę ale jednak coś nie działa.

public void wyswietl() {
        jTextArea1.setText("");
        Grep g = new Grep(jTextField2.getText());
        try {
            if(f != null)
                g.searchInFiles(f);
        } catch (FileNotFoundException ex) {
            Logger.getLogger(AplikacjaView.class.getName()).log(Level.SEVERE, null, ex);
        } catch (IOException ex) {
            Logger.getLogger(AplikacjaView.class.getName()).log(Level.SEVERE, null, ex);
        }
        getJTextArea1().setText(g.getFormatedSearchResults());
    }

Może ktoś pomóc?

1
  JTextArea TextArea= new JTextArea("");
        
        BufferedReader buff = new BufferedReader(new FileReader("D:\\H.obj"));
        String tekst;
        
        while((tekst=buff.readLine()) != null)
        {
            TextArea.setText(TextArea.getText()+tekst+"\n");
        }
        
        this.add(TextArea);

tego dusza chce?

2

@up:
Użyj StringBuildera, a nie takiego czegoś. To co podałeś będzie chyba powolne.

0

Sprawdziłem (plik miał około 170 kB):

  1. Oryginalna @konserwa (ta.setText(ta.getText()+tekst+"\n")) 7202 milisekundy
  2. Ulepszona @konserwa (ta.append(tekst+"\n")) 182 milisekundy
  3. StringBuilder 39 milisekund

1 użytkowników online, w tym zalogowanych: 0, gości: 1