Java Gdx.files.internal(“maps/”).list();列表“;“地图”';s的内容、桌面

Java Gdx.files.internal(“maps/”).list();列表“;“地图”';s的内容、桌面,java,libgdx,Java,Libgdx,我试图在我的游戏中列出一个“map”文件夹的内容,该文件夹本身位于assets文件夹中,带有Gdx.files.internal(“maps/”).list() 当通过Eclipse编译和启动时,它可以正常工作,最后我得到了我想要的“map”的列表(它找到map_test.tmx和map_test2.tmx) 但当我出口我的罐子时,它就不工作了。 我仍然可以通过执行Gdx.files.internal(“maps/map\u test.tmx”)直接加载地图,但执行Gdx.files.inter

我试图在我的游戏中列出一个“map”文件夹的内容,该文件夹本身位于assets文件夹中,带有
Gdx.files.internal(“maps/”).list()

当通过Eclipse编译和启动时,它可以正常工作,最后我得到了我想要的“map”的列表(它找到map_test.tmx和map_test2.tmx)

但当我出口我的罐子时,它就不工作了。 我仍然可以通过执行
Gdx.files.internal(“maps/map\u test.tmx”)
直接加载地图,但执行
Gdx.files.internal(“maps/”).list()不返回任何内容,就好像文件夹从未存在过一样,而它实际上在那里,并且其他资产正确加载

以下是我在“地图”文件夹中获取所有地图的方式:

private String[] getMaps() {
    FileHandle[] files = Gdx.files.internal("maps/").list();
    Array<String> maps = new Array<String>();

    for(FileHandle f : files)
        if(f.extension().equals("tmx"))
            maps.add(f.name());

    String[] result = new String[maps.size];
    for(int i = 0; i < maps.size; i++)
        result[i] = maps.get(i);

    return result;
}
private String[]getMaps(){
FileHandle[]files=Gdx.files.internal(“maps/”).list();
数组映射=新数组();
for(文件句柄f:files)
如果(f.extension().equals(“tmx”))
maps.add(f.name());
字符串[]结果=新字符串[maps.size];
对于(int i=0;i

有什么想法吗?

您是如何导出jar文件的?是否还有另一个
Gdx.files.internal(“maps/”)
采用
Url
参数?然后您可以使用
this.getClass().getResource(String)
解析maps文件夹,并将URL参数传递给该方法,也许是吧?我刚刚做了“File,Export,Runnable Jar File”。。。此外,我没有看到任何其他方法可以采用Url。在Eclipse中,只有一个文件的字符串为arg,而maps/目录被标记为resources目录?编辑器中将有一个特殊图标。如何检查?我不太习惯修改eclipse设置:>。我还注意到,如果我把maps文件夹放在jar所在的同一个文件夹中,jar就会工作。我的所有资产都在jar中,但映射不起作用……不支持列出绑定到jar中的文件。您是如何导出jar文件的?是否还有另一个
Gdx.files.internal(“maps/”)
采用
Url
参数?然后您可以使用
this.getClass().getResource(String)
解析maps文件夹,并将URL参数传递给该方法,也许是吧?我刚刚做了“File,Export,Runnable Jar File”。。。此外,我没有看到任何其他方法可以采用Url。在Eclipse中,只有一个文件的字符串为arg,而maps/目录被标记为resources目录?编辑器中将有一个特殊图标。如何检查?我不太习惯修改eclipse设置:>。我还注意到,如果我把maps文件夹放在jar所在的同一个文件夹中,jar就会工作。我的所有资产都在jar中,并且可以工作,但是映射没有…不支持列出绑定到jar中的文件。