Otwieranie pliku tekstowego przy pomocy Swing w netbeans

0

Witam korzystam z tutoriala i mimo tego mam cały czas błąd.

Komunikat o blędzie to run:
J:.AppData\netbeans\cache\7.3.1\executor-snippets\run.xml
Cancelled by user.
BUILD FAILED (total time: 10 seconds)

kod to:

private void otworzActionPerformed(java.awt.event.ActionEvent evt) {                                       
int odpowiedz = jFileChooserotworz.showOpenDialog(this);
      if (odpowiedz == jFileChooserotworz.APPROVE_OPTION) {
          File file = jFileChooserotworz.getSelectedFile();
          try {
              Text.read( new FileReader( file.getAbsolutePath() ), null );
          } catch (IOException e) {
              System.out.println("Nie mogę otworzyć pliku: "+file.getAbsolutePath());
              System.out.println("Problem: "+e);
          }
      }
}    

Co zrobić aby plik się normalnie otwierał?

0

Najpierw wyłącz NB, wywal cały katalog cache ze ścieżki, którą masz podaną (J:.AppData\netbeans\cache\7.3.1) i ponownie uruchom. Z tego co widać nie dochodzi, ani do uruchomienia, ani nawet do zbudowania aplikacji/węzła. Wersja 7.3, to moim zdaniem najgorsza z wersji tej powolnej krowy jaką jest Netbeans. Jeżeli to nie pomoże, to proponowałbym instalację wersji 8.0 lub ewentualnie powrót do 7.2, która jeszcze jako tako chodziła i nie miała tylu irytujących problemów, co najnowsze.
I tak na marginesie polecałbym nauczenie się klas Path i FileChannel, ByteBuffer i CharBuffer bo bardzo pomagają w obsłudze plików, a w szczególności tekstowych. Ewentualnie również SwingWorker, który przy swingowych aplikacjach jest bardzo przydatny bo długie operacje nie blokują GUI.

0

Może w ten sposób? Oczywiście lepszym sposobem bedzie skorzystanie z NIO.

public class Main {
    public static void main(String[] args) {
        JFileChooser jFileChooser = new JFileChooser();
        int result = jFileChooser.showOpenDialog(null);
        
        if (result == JFileChooser.APPROVE_OPTION) {
            File file = jFileChooser.getSelectedFile();
            try {
                Scanner scanner = new Scanner(file);
                while (scanner.hasNextLine()) {
                    System.out.println(scanner.nextLine());
                }
                scanner.close();
            } catch (IOException e) {
                System.out.println("Nie mogę otworzyć pliku: " + file.getAbsolutePath());
                System.out.println("Problem: " + e);
            }
        }
    }
}

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