0

我的文件程序第一次运行得很好。但是当我想运行它之后显示错误。可能是什么原因?

import java.io.FileInputStream;
import java.io.IOException;

public class FileSentenceRead {

    /**
     * @param args
     * @throws IOException 
     */
    public static void main(String[] args) throws IOException {
        // TODO Auto-generated method stub
        /*Scanner sn=new Scanner(System.in);
        System.out.println("Enter file name");
        String fname=sn.next();*/
        FileInputStream fis=new FileInputStream("textfile.text");
        int size=fis.available();
        byte bt[]= new byte[size];
        fis.read(bt);
        String pr=new String(bt);
        System.out.println(pr);
        String[] pr1=pr.split("\\s|\\.");
//      @SuppressWarnings("rawtypes")
//      HashSet set=new HashSet();
        StringBuffer s=null;
        StringBuffer ss=new StringBuffer();
        for(int i=0;i<pr1.length;i++){
            s= new StringBuffer(pr1[i]);
//          System.out.print(s.reverse()+" ");
            s=s.reverse();
            ss.append(s+" ");
        }
        System.out.println(ss);
    }
}

这是我的错误信息

at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
4

3 回答 3

1

找不到主类:textfile.text

看起来您没有执行正确的命令行。您的命令行调用应该是这样的(假设您是从生成类的地方执行它):

java -cp . FileSentenceRead 

或者如果你把它放在一个包里:

java -cp . com.foo.mypackage.FileSentenceRead

如果您从 Eclipse 运行,您可能已将程序参数放入 VM 参数中,这将产生相同的错误。然后只需将您的程序参数移动到正确的字段中并将它们从 VM 参数字段中删除。

于 2012-05-21T07:33:41.720 回答
0

是的, Himanshu Mohta是正确的。我已经检查了代码

FileInputStream fis=new FileInputStream("c:\\tmp\\textfile.text");

一些文本作为文本文件中的文本,它返回:

这里有一些文字

emo txet ereh

因此,代码没有问题,请检查您的文件系统文件夹安全性读/写权限

于 2012-05-21T07:50:33.467 回答
0

你是如何运行你的类。您的主要班级名称FileSentenceReadtextfile.text您在错误消息中看到的不同。我运行了你的代码,它总是在我的机器上运行良好。

您的启动配置或您用于运行它的命令可能存在问题。

于 2012-05-21T07:36:18.847 回答