我有一个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文件,但我也找不到它。
有什么想法吗?
答案 0 :(得分:1)
应该像这样指定assets文件夹的正确路径。
文件:///android_asset/nmap.tar.gz
然后你应该能够访问该文件。
另一种方式,您正在尝试也可以:
通过删除点修复此行,您将看到打印的文件列表。
Log.i("chiri", Arrays.toString(getAssets().list("")));
答案 1 :(得分:0)
您可以尝试.zip
代替.tar.gz
,它对我有用。