我在Assets文件夹中找不到任何文件

时间:2013-12-27 05:42:49

标签: android

我有一个tar.gz文件[1.5 MB大小]进入assets文件夹,我正在尝试将其移动到/ data / data //。 我试图在次要活动(不在主要活动中)中这样做。 代码:

 try {
        Log.d("chiri", Arrays.toString(getAssets().list(".")));
    } catch (IOException e1) {
        e1.printStackTrace();
    }
    try {
        InputStream fileInput = getAssets().open("nmap.tar.gz");
        OutputStream fileOutput = new FileOutputStream("/data/data/com.example.pentesting/nmap.tar.gz");
        byte[] buffer = new byte[1024];
        int length;
        while ((length = fileInput.read(buffer))>0){
            fileOutput.write(buffer, 0, length);
        }
} catch (IOException e) {
        Log.e("chiri", e.getLocalizedMessage(), e);
}

问题是getAssets似乎是空的。

我看到有很多关于这个问题的主题,但我无法弄清楚我的问题在哪里。我看到这可能是一个问题,因为文件大于1MB,但我尝试使用300字节的.txt文件,但我也找不到它。

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

应该像这样指定assets文件夹的正确路径。

  

文件:///android_asset/nmap.tar.gz

然后你应该能够访问该文件。

另一种方式,您正在尝试也可以:

通过删除点修复此行,您将看到打印的文件列表。

Log.i("chiri", Arrays.toString(getAssets().list("")));

答案 1 :(得分:0)

您可以尝试.zip代替.tar.gz,它对我有用。