如何从用户读取输入文件并生成输出中的所有令牌以及无效令牌?

时间:2015-10-21 08:07:46

标签: java netbeans

我正在尝试创建一个接受用户提供的文件输入的java程序。 然后扫描程序将扫描java代码文件并识别所有内容  标记并将它们列为用户的输出。 如果令牌无效,Scanner应该提到给定令牌无效...... 这是我的代码,我在netbeans工作。

    package javaapplication3;
    import java.io.*;
    import java.util.Scanner;
    import java.util.StringTokenizer;
     /**
    *
    * @author Hameed
     */
 public class JavaApplication3 {

/**
 * @param args the command line arguments
 */
public static void main(String[] args) throws FileNotFoundException,       IOException {
  FileReader fin = new FileReader("myfile.java");
   Open(fin);
   BufferedReader br= new BufferedReader(fin);
    String s;
    s=br.readLine();
    StringTokenizer st = new StringTokenizer(s, "[ =+';().*{}[],!@#$%^&/]", true);
    while(st.hasMoreTokens()){
        System.out.println(st.nextToken());
}

但是当我运行错误时,这里是图像http://s17.postimg.org/jlj18yefj/Untitled.jpg 在scanApp中实现代码,myfile.java在JavaApplication3文件夹中,如果不是,那么请指导我在哪里存储这个文件?

2 个答案:

答案 0 :(得分:0)

您必须检查工作目录

右键单击Project>属性>运行>工作目录。

您可以在此处搜索file.txt。

答案 1 :(得分:0)

使用new FileReader("myfile.java")指定相对路径。在这种情况下,假设文件在类路径中,您应该这样做:

Reader reader = new InputStreamReader(JavaApplication3.class.getResourceAsStream("myfile.java"));
BufferedReader br = new BufferedReader(reader);

另一种方法是在创建FileReader时指定文件的绝对路径,例如:

FileReader fin = new FileReader("C:\\myfile.java");