2

我在java中编写了以下代码来打开另一个.java文件并创建令牌(使用扫描仪类)

import java.io.FileReader;
import java.util.Scanner;

public class scanner1 {
    public static void main(String[] arg) throws Exception
    {
        FileReader fin = new FileReader("mysourcefile.java");
        Scanner scan=new Scanner(fin);
        scan.useDelimiter(" ");   // the delimiter pattern required
        while(scan.hasNext()) {
            System.out.println(scan.next());
        }
    }
}

我的任务是创建完整Java文件的标记,并且分隔符也应该被视为标记。

那么在这里使用的分隔符模式应该是什么scan.useDelimiter("")

更新:

上述任务是使用 stringtokenizer 完成的。但我不知道为.java文件创建标记的分隔符的确切模式。我可以回答在给定情况下使用什么分隔符模式吗?

import java.util.*;
public class sstring2
{
    public static void main(String[] args)
    {
        String s = "a=(b+c); String st='hello! my dear';";
        StringTokenizer st = new StringTokenizer(s, "[ =+';().*{}[],!@#$%^&/]", true);
        while(st.hasMoreTokens()){
            System.out.println(st.nextToken());
        }
    }
}

这段代码给出了正确的结果。

4

2 回答 2

1

它可以是您要终止输入的任何字符。

于 2013-01-14T17:29:24.450 回答
1

Take a look at the java.lang.instrument packagae. It provides some nice APIs to transform an already loaded class. The retransformation allows to change method bodies as in your case. Here's the link

于 2013-01-14T18:20:05.437 回答