我在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());
}
}
}
此代码给出了正确的结果。
答案 0 :(得分:1)
它可能是您要终止输入的任何字符。
答案 1 :(得分:1)
看看java.lang.instrument packagae。它提供了一些很好的API来转换已经加载的类。重新转换允许像您的情况一样更改方法体。这是link