2016-12-23 50 views
0

我使用Libgdx在eclipse中創建了桌面遊戲。遊戲在eclipse中運行良好,但FileHandle list()方法在導出到jar文件時不起作用。我用下面的代碼行:Libgdx FileHandle list()方法在jar文件中不起作用

songFiles = Gdx.files.internal("./bin/" + "songs/").list(); 
System.out.println(songFiles[0]); 

再次,在日食的時候導出到一個罐子它打印文件location.However,我得到一個java.lang.ArrayIndexOutOfBoundsException: 0錯誤。

Cannot export default Java libGDX project as a jar from Eclipse看起來類似,我有

+1

可能重複[什麼導致java.lang.ArrayIndexOutOfBoundsException,我該如何防止它?](http://stackoverflow.com/questions/5554734/what-c​​auses-a-java-lang-arrayindexoutofboundsexception-and-我怎麼做,我不會 - 它) – ItamarG3

+1

不,問題是list()方法不像eclipse中那樣操作。我認爲當項目導出到jar文件時,這與文件結構有關。 –

+0

我正要寫這樣的東西,但無法弄清楚究竟是什麼問題。 –

回答

0

它說你創建的列表或數組但你並沒有與長度初始化的問題。這就是爲什麼你在錯誤信息結束時有0。

+0

這不是原因,因爲數組是由libgdx的FIleHandle類中的方法list()提供的(https://libgdx.badlogicgames.com/nightlies/docs/api/com/badlogic/gdx/files/FileHandle。 HTML)。這也不能解釋爲什麼它在eclipse中運行,因爲eclipse會捕獲它。 –

0

由於list()方法不能在桌面應用程序中使用,我將通過將歌曲目錄中的文件名讀寫到文本文件來解決此問題。