我正在使用最新的JavaParser解析很多.java文件。
文件解析如下:
in = new FileInputStream(file);
cu = JavaParser.parse(in);
如果其中一个源文件包含德语变音符号(ä,ö,ü,ß)(它们仅出现在.java文件的注释中),则会引发以下异常
线程“main”中的异常japa.parser.TokenMgrError:第82行第17列的词汇错误。遇到:“\ ufffd”(65533),之后:“”
我该怎么做才能解决这个问题。我无法更改所有源文件。
答案 0 :(得分:3)
JavaParser.parse()
上有一个带有编码的重载。根据您的文件编码,试试这个;
cu = JavaParser.parse(in, "ISO8859_1");
或者
cu = JavaParser.parse(in, "UTF8");
所有支持的编码都列在here。
答案 1 :(得分:1)
您只需要指定正确的编码:
cu = JavaParser.parse(in, "utf-8");
......或者你的实际编码是什么。