Netbeans平台:InstalledFileLocator

jav*_*csw 5 java filesystems netbeans maven-3 netbeans-platform

我为模块添加了一个资源,如下所示:

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>nbm-maven-plugin</artifactId>
    <extensions>true</extensions>
    <configuration>
        <moduleType>eager</moduleType>
        <nbmResources>                     
            <nbmResource>
                <directory>${basedir}/resources</directory>
                <targetPath>resources</targetPath>
                <includes>
                    <include>*.db</include>
                </includes>
                <excludes>
                    <exclude>*trace*</exclude>
                </excludes>
            </nbmResource>
        </nbmResources> 
    </configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)

该文件显示在Netbeans的应用:target/app name/app name/resources/card_manager.mv.db.看起来很好.

现在,我正在尝试获取该文件位置,如下所示:

File db = InstalledFileLocator.getDefault().locate("card_manager.mv.db",
                    "module.codename.base", false);
Run Code Online (Sandbox Code Playgroud)

但db始终为null.任何的想法?

Jaf*_*son 0

试试这个代码...

File file = InstalledFileLocator.getDefault().locate("myfile", null, false);
if (file == null) 
{
   file = new File(Places.getUserDirectory() + File. separator + "myfile");
}
Run Code Online (Sandbox Code Playgroud)

或者您尝试过 resources/card_manager.mv.db 吗?我确信应用程序路径(应用程序名称)和集群名称(第二个应用程序名称)已从locate() 中排除,但我相信您必须包含资源/路径。