无法在同一目录位置找到文件夹的路径--Android studio

时间:2017-12-07 03:08:43

标签: android file android-studio directory file-exists

我将一个名为profiles的文件夹放在我存储java文件的同一目录中。

enter image description here

我试图找到该文件夹​​,但收到一个未找到的错误。

String dir = getApplicationInfo().dataDir;
Log.d("dir", dir);
File folder = new File("/profiles"); // also tried File folder = new File(dir+"/profiles");
if (!folder.exists()) {
    Log.d("Not Found Dir", "Not Found Dir  ");
} else {
    Log.d("Found Dir", "Found Dir  " );
}

打印

D/dir: /data/user/0/com.pakhocheung.o
D/Not Found Dir: Not Found Dir

然后我尝试列出该目录中的所有文件

String path = dir;
Log.d("Files", "Path: " + path);
File directory = new File(path);
File[] files = directory.listFiles();
Log.d("Files", "Size: "+ files.length);
for (int i = 0; i < files.length; i++) {
    Log.d("Files", "FileName:" + files[i].getName());
}

打印

D/Files: Path: /data/user/0/com.pakhocheung.o
D/Files: Size: 6
D/Files: FileName:cache
D/Files: FileName:code_cache
D/Files: FileName:lib
D/Files: FileName:shared_prefs
D/Files: FileName:app_Paas
D/Files: FileName:files

我似乎在错误的目录中,因为我看不到这些文件。有什么建议吗?

1 个答案:

答案 0 :(得分:1)

assests文件夹中创建main文件夹。将profiles文件夹放在assets文件夹中。要读取profiles文件夹中的文件名,请使用此代码。

String[] list = null;
    try {
        list = getAssets().list("profiles");
        for (String file: list){
            Log.d(TAG, "file name "+ file.toString());
        }
    } catch (IOException e) {
        e.printStackTrace();
    }

要从此文件夹中读取文件,请使用此文件。

InputStream is = getAssets().open("profiles/example.txt");