我正在写一个小程序。当我在命令提示符下运行代码时,它显示一个文件未找到异常。该程序在Eclipse IDE中运行得非常好。任何人都可以说出错误是什么吗?
Frame frame= new Frame();
FileDialog openfile= new FileDialog(frame,"Select a file", FileDialog.LOAD);
openfile.setVisible(true);
String file=openfile.getFile();
System.out.println(file);
try{
FileReader f= new FileReader(file);
BufferedReader br= new BufferedReader(f);
Scanner in=new Scanner(br);
while(in.hasNextInt()){
n=in.nextInt();
count++;
sum += n;
System.out.println(n);
}
System.out.println("Count:" + count);
答案 0 :(得分:0)
如果目标文件与您的应用程序不在同一目录中,则会发生这种情况。
使用String file = openfile.getDirectory() + File.separator + openfile.getFile();
获取目标文件的绝对路径。
答案 1 :(得分:0)
您需要指定目录
import java.awt.FileDialog;
import java.awt.Frame;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.Scanner;
public class FileReader1 {
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
int sum=0,count=0,n;
Frame frame= new Frame();
FileDialog openfile= new FileDialog(frame,"Select a file", FileDialog.LOAD);
openfile.setVisible(true);
String dir=openfile.getDirectory();
String file = openfile.getFile();
File ff = new File(dir+file);
FileReader fr = null;
BufferedReader br = null;
Scanner in = null;
System.out.println(dir+file);
try{
fr = new FileReader(ff);
br = new BufferedReader(fr);
in=new Scanner(br);
while(in.hasNextInt()){
n=in.nextInt();
count++;
sum += n;
System.out.println(n);
}
System.out.println("Count:" + count);
}catch(Exception e){
System.out.println("Exception"+e);
}finally{
fr.close();
br.close();
in.close();
}
}
}