我有下一个代码,必须打开用户提供的文件。文件所在的地址是正确的,但问题是它一直抛出异常FileNotFoundException,我无法弄清问题是什么。
import java.util.Scanner;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.RandomAccessFile;
public class OpenFile{
public static void main(String[] args) {
String fileName,name,r = "C:/Users/MyName/workspace/Proyect/";
Scanner t = new Scanner(System.in);
System.out.print("Give me the name of the file: ");
name = t.nextLine();
t.close();
fileName = r+name;
try
{
File f = new File(fileName);
RandomAccessFile ra = new RandomAccessFile(f,"r");
}
catch(FileNotFoundException ex)
{
System.out.println("cannot open file");
}
}
}
答案 0 :(得分:0)
小贴士:
首先,您应该将/
替换为File.separator
"CFile.separatorUsersFile.separatorMyNameFile.separatorworkspaceFile.separatorProyect`File.separator"
第二次,您的变量fileName
和name
未被广泛使用
最好像这样定义它们。
String fileName ="";
String name=""; <------ which is more readable
第三次最好将您的扫描仪放入具有资源的try catch块中,这样就不需要像
那样关闭了。 try(Scanner input = new Scanner(System.in)){
}catch(FileNotFoundException e){
}
希望这些提示可以帮助您解决问题