gpt4 book ai didi

java - 文件选择器(Swing)

转载 作者:行者123 更新时间:2023-12-02 03:33:28 25 4
gpt4 key购买 nike

我实现了一个按钮,用户单击此按钮,会弹出文件选择器,用户可以选择文件,但是当他更改首选项时,程序始终会理解第一个文件。

我通过写下 size() 方法发现了这个错误。首先,用户选择了大小为 20 的设备列表,在用另一个大小为 100 的列表更改此文档后,我期望看到 100 作为大小,但我仍然看到 20。

chooser = new JButton("Choose Device List");
chooser.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent arg0) {
JFileChooser fileopen = new JFileChooser();
FileFilter filter = new FileNameExtensionFilter("csv files", "csv");
fileopen.addChoosableFileFilter(filter);

int ret = fileopen.showDialog(null, "Open file");

if (ret == JFileChooser.APPROVE_OPTION) {
try {
DeviceHelper.loadDevices(fileopen.getSelectedFile());
int size = DeviceHelper.loadDevices(fileopen.getSelectedFile()).size();
System.out.println("Size of the program " + size);


} catch (IOException e) {


}

}

}
});

我该如何解决这个问题?有人可以帮我吗?

编辑:

 public static List<String> loadDevices(File file2) throws IOException {

if (deviceAdresses == null) {

deviceAdresses = new ArrayList<>();

try (BufferedReader reader = new BufferedReader(new FileReader(file2))) {

String line = null;
while ((line = reader.readLine()) != null) {
if (line.trim().length() > 0) {
deviceAdresses.add(line);
}
}

}

}



return new ArrayList<String>(deviceAdresses);

}

最佳答案

删除此检查:

if (deviceAdresses == null) {

一旦 deviceAdresses 初始化,此检查将始终为 false,并且永远不会读取新文件中的行。

关于java - 文件选择器(Swing),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37743632/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com