Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/206.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Libgdx FileHandle list()方法不使用';不能在jar文件中工作_Java_Android_Eclipse_Jar_Libgdx - Fatal编程技术网

Java Libgdx FileHandle list()方法不使用';不能在jar文件中工作

Java Libgdx FileHandle list()方法不使用';不能在jar文件中工作,java,android,eclipse,jar,libgdx,Java,Android,Eclipse,Jar,Libgdx,我使用Libgdx在eclipse中创建了一个桌面游戏。游戏在eclipse中运行得很好,但是FileHandlelist()方法在导出到jar文件时不起作用。我使用了以下代码行: songFiles = Gdx.files.internal("./bin/" + "songs/").list(); System.out.println(songFiles[0]); 同样,在eclipse中,它会打印文件位置 看起来与我遇到的问题类似,它说你创建了列表或数组,但你没有用长度初始化它。这就是为什

我使用Libgdx在eclipse中创建了一个桌面游戏。游戏在eclipse中运行得很好,但是FileHandle
list()
方法在导出到jar文件时不起作用。我使用了以下代码行:

songFiles = Gdx.files.internal("./bin/" + "songs/").list();
System.out.println(songFiles[0]);
同样,在eclipse中,它会打印文件位置


看起来与我遇到的问题类似,它说你创建了列表或数组,但你没有用长度初始化它。这就是为什么在错误消息的末尾有0。

因为list()方法不能在桌面应用程序上使用,所以我将通过读取歌曲目录中的文件名并将其写入文本文件来解决此问题。

可能重复No,问题是list()方法的操作与eclipse中的不同。我认为,当一个项目被导出到一个jar文件时,这与文件结构有关。我正要写这样的东西,但不知道到底是什么问题。引用javadocs:“在桌面上,类路径上目录的Files.FileType.Internal句柄将返回一个零长度数组。”。或者引用wiki:“桌面上不支持内部目录列表。”。这不是原因,因为数组是由libgdx的FIleHandle类()中的list()方法提供的。这也不能解释为什么它在eclipse中运行时可以工作,因为eclipse会捕捉到这一点。