首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JavaParser不更新源文件

JavaParser不更新源文件
EN

Stack Overflow用户
提问于 2016-08-10 19:22:10
回答 1查看 1.9K关注 0票数 1

我正在使用JavaParser并跟踪它的Wiki。问题是,即使我更改了方法的名称并向其添加了一个参数,该文件也不会更新。换句话说,更改不会保存。当我System.out.println更改的CompilationUnit时,它会用更改打印它,但是这些更改根本不影响源文件。

有什么像CompilationUnit.update()这样的东西吗?还是我遗漏了什么?

我从Wiki中使用的示例:

代码语言:javascript
复制
    files_list = FilePicker.chooseAndGetJavaFiles();

    if (files_list == null || files_list.isEmpty()) {
        Errors.showError(Errors.COMMENT_GENERATOR_FILELIST_NULL_OR_EMPTY);
    } else {

        CompilationUnit cu = null;
        FileInputStream in = new FileInputStream(files_list.get(0));
        try {
            cu = JavaParser.parse(in);
        } catch (ParseException ex) {
            Logger.getLogger(CommentGenerator.class.getName()).log(Level.SEVERE, null, ex);
        } finally{
            in.close();
        }
        new MethodChangerVisitor().visit(cu,null);

        System.out.println(cu.toString());
    }
}

private static class MethodChangerVisitor extends VoidVisitorAdapter{

    @Override
    public void visit(MethodDeclaration n, Object arg) {
       // change the name of the method to upper case
        n.setName(n.getName().toUpperCase());

        // create the new parameter
        Parameter newArg = ASTHelper.createParameter(ASTHelper.INT_TYPE, "value");

        // add the parameter to the method
        ASTHelper.addParameter(n, newArg);

    }


}

编辑:这里是解决方案,添加到下面一行;

代码语言:javascript
复制
Files.write(new File("Modified.java").toPath(), cu.toString(), StandardCharsets.UTF_8);

更改行下的特殊字符(例如"ş,ü.“)

代码语言:javascript
复制
cu = JavaParser.parse(files_list.get(0));

代码语言:javascript
复制
cu = JavaParser.parse(files_list.get(0),"UTF-8");
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-10 22:11:34

既然您已经有了字符串表示形式,那么下面这个呢:

代码语言:javascript
复制
Files.write(new File("Modified.java").toPath(), cu.toString(), StandardCharsets.UTF_8);
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38881876

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档