使用Java文件选择器导入文件
我在使用Java JFileChooser时遇到问题,不知道是否有人能帮我解决。这可能很简单,但我就是看不出哪里出了问题 当我单击导入按钮时,JFileChooser窗口会很好地打开,我可以导航到任何字段,但我无法将它们读入我的JTextFields 以下是我的JFileChooser方法:使用Java文件选择器导入文件,java,swing,file,jfilechooser,Java,Swing,File,Jfilechooser,我在使用Java JFileChooser时遇到问题,不知道是否有人能帮我解决。这可能很简单,但我就是看不出哪里出了问题 当我单击导入按钮时,JFileChooser窗口会很好地打开,我可以导航到任何字段,但我无法将它们读入我的JTextFields 以下是我的JFileChooser方法: 您应该使用列表或StringBuilder以便于获取线。结果会有什么错误吗?调试确实有助于查看程序在哪里中断 下面是我很快为你准备好的东西: public void importFile() { J
您应该使用列表或StringBuilder以便于获取线。结果会有什么错误吗?调试确实有助于查看程序在哪里中断 下面是我很快为你准备好的东西:
public void importFile() {
JFileChooser chooser = new JFileChooser();//A
if (chooser.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) { //a
try {
FileReader fr = new FileReader(chooser.getSelectedFile().getPath());
BufferedReader file_in = new BufferedReader(fr);
List lines = new List();
String line = new String("");
while ((line = file_in.readLine()) != null) {
list.add(line);
if (list.size() >= 3) {
String[] nameArray = ((String)list.get(0)).split(" ");
Contact c = new Contact (nameArray[1], nameArray[0],
(String)list.get(1), (String)list.get(2),
(String)list.get(3));
contactList.add(c);
}
System.out.println(list.get(list.size()-1)); // Debug
}
}
catch (IOException ioe) {
ioe.printStackTrace();
}
}
}
我没有编译它,所以可能有一些打字错误或类似的…它导入到一个名为contactList的数组列表中,您可以看到它位于底部第5行。所以它不会直接进入JTextFields,但无论如何我都无法让它工作
public void importFile() {
JFileChooser chooser = new JFileChooser();//A
if (chooser.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) { //a
try {
FileReader fr = new FileReader(chooser.getSelectedFile().getPath());
BufferedReader file_in = new BufferedReader(fr);
List lines = new List();
String line = new String("");
while ((line = file_in.readLine()) != null) {
list.add(line);
if (list.size() >= 3) {
String[] nameArray = ((String)list.get(0)).split(" ");
Contact c = new Contact (nameArray[1], nameArray[0],
(String)list.get(1), (String)list.get(2),
(String)list.get(3));
contactList.add(c);
}
System.out.println(list.get(list.size()-1)); // Debug
}
}
catch (IOException ioe) {
ioe.printStackTrace();
}
}
}