Netbeans API:如何保存文件,或当前项目中的所有文件?
Posted
技术标签:
【中文标题】Netbeans API:如何保存文件,或当前项目中的所有文件?【英文标题】:Netbeans API: How to save a file, or all files in the current project? 【发布时间】:2013-02-26 20:28:23 【问题描述】:我正在使用提供的 API 为 Netbeans 开发一个插件模块,以便为新的编程语言提供支持。
我在上下文菜单中创建了一个操作,使用文件类型中定义的 MIME 类型。
我正在寻找一种方法来保存正在选择的文件。最好只在它发生变化的情况下。
也可以保存项目所有文件中的所有更改吗?
我的 Action Listener 类的部分代码:
@Override
public void actionPerformed(ActionEvent ev)
FileObject f = context.getPrimaryFile();
String path = f.getPath();
String name = f.getName();
//Save file here
ExecutionDescriptor descriptor = new ExecutionDescriptor()
.controllable(true)
.frontWindow(true)
.preExecution(before)
.postExecution(after);
ExecutionService exeService = ExecutionService.newService(
new ProcessLaunch(cmdLine),
descriptor, "Run " + name);
Future<Integer> exitCode = exeService.run();
【问题讨论】:
【参考方案1】:LifecycleManager.getDefault().saveAll();
这将保存项目中的所有对象。
【讨论】:
【参考方案2】:试试这个:
FileObject f = ...
DataObject data = DataObject.find(f);
EditorCookie cookie = data.getLookup().lookup(EditorCookie.class);
cookie.saveDocument();
【讨论】:
提供代码很好,除了没人能从中学到任何东西;你应该解释一下它背后的思考过程。 这背后应该有什么样的思考过程?他有一个 FileObject 并想保存。保存方法在EditorCookie中,所以他需要一个。 DataObject.find()、getLookup() 和 lookup() 都只是 getter 方法 - 没有什么花哨的东西。 FileObject、DataObject 和 Lookup 都是 NetBeans 的概念,太复杂了,这里就不解释了。以上是关于Netbeans API:如何保存文件,或当前项目中的所有文件?的主要内容,如果未能解决你的问题,请参考以下文章
netbeans 6.9运行不了,提示一个或多个项目未正确设置目标服务器