2017-03-04 66 views
-1

我正在嘗試使用libgdx文件系統列出目錄中的所有文件,並且當我進入目錄我想要查看列表功能時開始返回列表長度爲0,即使我是積極的,它不是空的。使用外部目標列出Libgdx目錄中的所有文件

我正在測試我的android手機,並正在一步步深入手機。這些是我用來檢查列表的行,以及它返回的項目數。請讓我知道我在做什麼錯誤或工作,謝謝。

Gdx.files.absolute(".").list().length()    //Returned 63 
Gdx.files.absolute("./storage").list().length   //Returned 4 
Gdx.files.absolute(./storage/emulated).list().length //Returned 0 

再次,路徑./storage/emulated絕對不是空的。我是否需要特別許可才能訪問此區域?請點吧。提前致謝。

+0

也許是因爲你沒有把第三行代碼放在應該是「./storage/emulated」的地方 – Sparcsky

+0

我在實際的代碼中做了這只是一個傳輸錯誤 –

回答

1

開始之前在Android上進行清除之前,如果在執行與文件IO相關的任何工作前沒有在用戶運行時獲得權限,則targetSdkVersion小於23。對於目前的targetSdkVersion檢查你的defaultConfig的android build.gradle文件,如果不存在,檢查AndroidManifest.xml文件。

將此權限添加到AndroidMainfest.xml文件。

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> 

我知道外部目的地是我們保存自己的數據,如視頻,音樂和所有的地址。

Gdx.files.getExternalStoragePath() Android中給予路徑/storage/emulated/0/和用戶目錄在桌面上像這樣C:\Users\Abhishek Aryan\

我們希望到外部存儲設備內的所有文件(外部存儲並不意味着SD卡)。 /storage/emulated/0/代表內置存儲。

FileHandle dirHandle = Gdx.files.external("/");  

for (FileHandle entry: dirHandle.list()) { 
    System.out.println(entry.toString()); 
} 

通過遞歸,您可以獲取存儲器中的所有文件和文件夾。

+0

謝謝我想我只是想念允許! –

相關問題