Java中的OpenFile对话框将null作为响应
我尝试了几种方法来打开一个文本文件,我的程序使用它在地图创建者中显示地图。除了我选择一个文本文件,我会得到“null”作为字符串外,其他一切都正常工作。我不知道它是如何变为null的,因为文件存在(在加载之前我检查了它)
以下是两次尝试的2个代码块:
public String OpenText(){
String str = null;
JFileChooser fc = new JFileChooser();
int returnVal = fc.showOpenDialog(null);
if (returnVal == JFileChooser.APPROVE_OPTION) {
File file = fc.getSelectedFile();
System.out.println("Opening: " + file.getName() + ". " + "Path: "+file.getPath());
if(new File(file.getPath()).exists()){
try {
System.out.println("File Exists.");
/*FileReader fr = new FileReader(file);
BufferedReader br = new BufferedReader(fr);
StringBuilder sb = new StringBuilder();
while((str = br.readLine())!= null){
sb.append(str);
}
*/
StringBuilder sb = new StringBuilder();
Scanner input = new Scanner(file);
while(input.hasNext()){
sb.append(input.nextLine());
sb.append("\n");
}
} catch (IOException e) {
e.printStackTrace();
}
}
} else {
System.out.println("Open command cancelled by user.");
}
System.out.println(str);
return str;
}
代码在第一次尝试和第二次尝试时都返回“null”
我知道第一个代码是有效的,因为我用它来保存我的设置。但我也用扫描仪试过了
额外信息:我试图打开的文件中有文本。我尝试了不同的文本文件
# 1 楼答案
我在关注你的情况
我尝试了以下方法,它可以与文本文件(txt)一起使用