我尝试使用方法“getAbsolutePath()”但我总是得到相同的错误。 以下是我尝试使用它的方法:
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("");
}
}
}
我可能需要输入一些东西,但老实说,我甚至不确定我在这一点上做错了什么。以下是我导入的所有内容:
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;
答案 0 :(得分:1)
JFileChooser
类没有getAbsolutePath()
方法。
什么是dir
变量?
看起来你也许想......
fileChooser.getCurrentDirectory().getAbsolutePath()
答案 1 :(得分:0)
这是因为你试图调用JFileChooser的方法getAbsolutePath()
,它不存在。相反,您应该将dir.setText(...
行替换为:
dir.setText(readLineByLineJava8(fileChooser.getSelectedFile().getAbsolutePath()));
这是因为JFileChooser没有getAbsolutePath()
方法,因此您需要为其选择的文件(由getSelectedFile()
返回)获取File对象并调用getAbsolutePath()
on那是为了获取文件路径。
我希望这有帮助!