当程序在Eclipse IDE中运行且没有任何错误时,无法在java小程序中使用FileReader打开文件

当程序在Eclipse IDE中运行且没有任何错误时,无法在java小程序中使用FileReader打开文件,java,applet,filenotfoundexception,filewriter,Java,Applet,Filenotfoundexception,Filewriter,我正在写一个小程序。当我在命令提示符下运行代码时,它会显示一个文件未找到异常。该程序在EclipseIDE中运行良好。有人能说出可能的错误吗 Frame框架=新框架(); FileDialog openfile=newfiledialog(框架,“选择文件”,FileDialog.LOAD); setVisible(true); String file=openfile.getFile(); System.out.println(文件); 试一试{ FileReader f=新的FileRead

我正在写一个小程序。当我在命令提示符下运行代码时,它会显示一个文件未找到异常。该程序在EclipseIDE中运行良好。有人能说出可能的错误吗

Frame框架=新框架();
FileDialog openfile=newfiledialog(框架,“选择文件”,FileDialog.LOAD);
setVisible(true);
String file=openfile.getFile();
System.out.println(文件);
试一试{
FileReader f=新的FileReader(文件);
BufferedReader br=新的BufferedReader(f);
扫描仪输入=新扫描仪(br);
while(在.hasNextInt()中){
n=in.nextInt();
计数++;
总和+=n;
系统输出println(n);
}
System.out.println(“计数:+Count”);

如果目标文件与应用程序不在同一目录中,则会发生这种情况


使用
String file=openfile.getDirectory()+file.separator+openfile.getFile();
获取目标文件的绝对路径。

您需要指定目录

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();
        }

    }
}

@Bahman…我必须将此代码上载到服务器上,文件将从本地计算机中选择…现在此异常出现在线程“AWT-EventQueue-1”java.security.AccessControlException:acc ess denied(“java.io.FilePermission”“C:\Users\ankit\workspace\applet test\src\C opyit.txt”“read”)中在java.security.AccessControlContext.checkPermission(AccessControlContext.java:372)在java.security.AccessController.checkPermission(AccessController.java:559)请更准确地说:“上传到服务器”是什么意思?该代码应该在webstart模式下运行还是作为小程序运行?我自己从未编写过小程序,因此无法确定。但是,IIRC,小程序需要证书才能从沙箱访问本地文件。询问问题时请检查,您应该提供一段工作代码;)