我是Java初学者,我试图使我的应用程序更好。所以我有一个方法来用文本文件中的项填充jcombobox。方法是
private void fillComboBox(JComboBox combobox, String filepath) throws FileNotFoundException, IOException {
BufferedReader input = new BufferedReader(new FileReader(filepath));
List<String> strings = new ArrayList<String>();
try {
String line = null;
while ((line = input.readLine()) != null) {
strings.add(line);
}
} catch (FileNotFoundException e) {
System.err.println("Error, file " + filepath + " didn't exist.");
} finally {
input.close();
}
String[] lineArray = strings.toArray(new String[]{});
for (int i = 0; i < lineArray.length - 1; i++) {
combobox.addItem(lineArray[i]);
}
}
我用对了
fillComboBox(jCombobox1, "items");
带有items的文本文件位于我的netbeans项目根目录中。当从netbeans运行应用程序时,它可以完美地工作。但是当我构建项目并创建.jar文件时。它不能运行。我试着从命令行运行它。这是我得到的。
. io .FileNotFoundException: items(System cannot find the file.)
如何处理?我什么也没找到。我不知道问题在哪里,因为它在netbeans中工作得很好。非常感谢您的帮助。
.jar文件是否在同一根目录下?
导出的.jar文件可能在另一个目录下工作,无法找到文本文件。
尝试将导出的Jar放在与文本文件相同的目录中。
我的例子:
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JComboBox;
import javax.swing.JOptionPane;
public class test {
public static void main(String[] args) throws FileNotFoundException, IOException{
JComboBox box = new JComboBox();
fillComboBox(box, "C:\path\test.txt");
JOptionPane.showMessageDialog(null, box);
}
private static void fillComboBox(JComboBox combobox, String filepath) throws FileNotFoundException, IOException {
BufferedReader input = new BufferedReader(new FileReader(filepath));
List<String> strings = new ArrayList<String>();
try {
String line = null;
while ((line = input.readLine()) != null) {
strings.add(line);
}
} catch (FileNotFoundException e) {
System.err.println("Error, file " + filepath + " didn't exist.");
} finally {
input.close();
}
String[] lineArray = strings.toArray(new String[] {});
for (int i = 0; i < lineArray.length - 1; i++) {
combobox.addItem(lineArray[i]);
}
}
}