2017-11-29 9 views
-2

Ich versuche, die Methode "getAbsolutePath()" zu verwenden, aber ich bekomme immer den gleichen Fehler. Hier ist, wie ich versuche, es zu benutzen:Kann nicht finden Symbol - Methode getAbsolutePath() Java

class OpenFrequenciesL implements ActionListener { 
     public void actionPerformed(ActionEvent e) { 
      JFileChooser fileChooser = new JFileChooser(); 
      final FileNameExtensionFilter filter = new FileNameExtensionFilter("Text", "txt"); 
      fileChooser.setFileFilter(filter); 
      int fileChooserResult = fileChooser.showOpenDialog(MyGUI.this); 
      if (fileChooserResult == JFileChooser.APPROVE_OPTION) { 
       filename.setText(fileChooser.getSelectedFile().getName()); 
       dir.setText(readLineByLineJava8(fileChooser.getAbsolutePath())); 
      } if (fileChooserResult == JFileChooser.CANCEL_OPTION) { 
       filename.setText("You pressed cancel"); 
       dir.setText(""); 
       } 
      } 
     } 

Ich könnte etwas importieren müssen, aber ehrlich gesagt bin ich nicht einmal sicher, was ich falsch an dieser Stelle tun. Hier ist alles, was ich importiert:

import java.awt.BorderLayout; 
import java.awt.Container; 
import java.awt.GridLayout; 
import java.awt.event.ActionEvent; 
import java.awt.event.ActionListener; 
import javax.swing.JButton; 
import javax.swing.JFileChooser; 
import javax.swing.JFrame; 
import javax.swing.JPanel; 
import javax.swing.JTextField; 
import javax.swing.filechooser.FileNameExtensionFilter; 
import javax.swing.JFileChooser; 
import javax.swing.text.JTextComponent; 
import java.util.*; 
import java.io.*; 
import java.nio.file.*; 
import java.io.IOException; 
import java.nio.charset.StandardCharsets; 
import java.nio.file.Files; 
import java.nio.file.Paths; 
import java.util.stream.Stream; 
import java.io.File; 
+1

Was hat Sie dazu gebracht zu denken, dass 'fileChooser' sogar eine 'getAbsolutePath()' Methode hat? * Hinweis: * 'fileChooser' ist kein' File' Objekt. – Andreas

+0

Nun, ich weiß nicht, schneiden Sie mich etwas locker, ich bin neu in diesem –

+0

Meine Frage war ich darüber nachzudenken, wie Sie wussten, eine Methode mit dem Namen 'getAbsolutePath()' existiert sogar überall. Sie sollten jedoch nur die Dokumentation ** überprüfen, dh das Javadoc für den Typ des Objekts, auf dem Sie die Methode aufrufen, in diesem Fall die Klasse 'JFileChooser': https://docs.oracle. com/javase/9/docs/api/javax/schwingen/JFileChooser.html. Dann würdest du ** wissen **, welche Methoden verfügbar sind und würdest selbst lernen, dass es keine solche Methode gibt. http://idownvotedbecau.se/noresearch/ – Andreas

Antwort

1

Die JFileChooser Klasse verfügt nicht über eine getAbsolutePath() Methode.

Was ist die dir Variable? Diese

fileChooser.getCurrentDirectory().getAbsolutePath() 
0

ist, weil Sie versuchen, nennen JFileChooser Methode

Es sieht aus wie Sie vielleicht ... wollen getAbsolutePath(), die es nicht gibt. Stattdessen sollten Sie die dir.setText(... Linie mit ersetzen:

dir.setText(readLineByLineJava8(fileChooser.getSelectedFile().getAbsolutePath()));

Dies liegt daran, JFileChooser nicht über eine getAbsolutePath() Methode, so müssen Sie ein File-Objekt für die Datei, um es ausgewählt hat (wieder durch getSelectedFile()) und Rufen Sie getAbsolutePath() auf, um den Dateipfad zu erhalten.

Ich hoffe, das hilft!

Verwandte Themen