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



我正在尝试制作一个java程序,接受来自用户提供的文件的输入。然后,扫描器将扫描java代码文件并识别所有代码标记,并将它们列为用户的输出。在无效令牌的情况下,扫描器应该提到给定的令牌是无效的…这是我的代码,我在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在扫描器中实现代码,而myfile.java在JavaApplication3文件夹中,如果不是,那么请指导我在哪里存储此文件是正确的吗?

你必须检查工作目录,

右键单击"项目>属性>运行>工作目录"

这里是你程序搜索file.txt的地方。

通过使用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");

相关内容

  • 没有找到相关文章

最新更新