API Netbeans: как сохранить файл или все файлы в текущем проекте?

Я разрабатываю подключаемый модуль для Netbeans, используя предоставленный API, чтобы обеспечить поддержку нового языка программирования.

Я создал действие в контекстном меню, используя тип 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();

    } 

person Alexandru Chirila    schedule 26.02.2013    source источник


Ответы (2)


LifecycleManager.getDefault().saveAll();

Это сохранит все объекты в вашем проекте.

person magnus    schedule 28.02.2013

попробуй это:

FileObject f = ...
DataObject data = DataObject.find(f);
EditorCookie cookie = data.getLookup().lookup(EditorCookie.class);
cookie.saveDocument();
person JWahle    schedule 30.07.2015
comment
Предоставление кода — это хорошо, но никто ничему из этого не учится; вы должны объяснить мыслительный процесс, стоящий за этим. - person Huang Chen; 30.07.2015
comment
какой мыслительный процесс должен стоять за этим? У него есть FileObject, и он хочет его сохранить. Метод сохранения находится в EditorCookie, поэтому он ему нужен. DataObject.find(), getLookup() и lookup() - все это просто методы получения - ничего особенного в этом нет. FileObject, DataObject и Lookup — это концепции NetBeans, которые слишком сложны, чтобы объяснять их здесь. - person JWahle; 07.08.2015