我是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");
带有项目的文本文件位于netbeans项目的根目录中。 从netbeans运行应用程序时它非常有效。但是当我构建项目并创建.jar文件时。它没有运行。我试图从命令行运行它。 这就是我得到的。
java.io.FileNotFoundException:items(系统无法找到该文件。)
如何处理?我没找到任何东西。我不知道哪里有问题,因为它在netbeans中运行良好。非常感谢您的帮助。
答案 0 :(得分:0)
.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]);
}
}
}