如何在android上创建预分配的文件?像一个稀疏的文件?android-在下载文件之前为文件预分配空间
我需要做一个应用程序,下载一个大文件,我想避免在下载开始时出现空间不足的错误。我的解决方案需要支持恢复和写入内部和外部存储。
我试过这里写的是: Create file with given size in Java 但由于某些原因,这些解决方案都没有工作。
如何在android上创建预分配的文件?像一个稀疏的文件?android-在下载文件之前为文件预分配空间
我需要做一个应用程序,下载一个大文件,我想避免在下载开始时出现空间不足的错误。我的解决方案需要支持恢复和写入内部和外部存储。
我试过这里写的是: Create file with given size in Java 但由于某些原因,这些解决方案都没有工作。
这很奇怪。 现在工作正常。也许我已经以错误的方式对它进行了测试。
这里的工作代码,对于那些谁拥有与它的问题:
final String path=getFilesDir().getParent()+"/t.txt";
RandomAccessFile newSparseFile=null;
try
{
new File(path).delete();
newSparseFile=new RandomAccessFile(path,"rw");
// create a 1MB file:
newSparseFile.setLength(1024*1024);
}
catch(final Exception e)
{
Log.e("DEBUG","error while creating file:"+e);
}
finally
{
if(newSparseFile!=null)
try
{
newSparseFile.close();
Log.d("DEBUG","length:"+new File(path).length());
}
catch(final IOException e)
{
Log.e("DEBUG","error while closing file:"+e);
}
}
不要只说对**某些原因没有工作**,告诉你试过的代码,你得到了错误,这样你更喜欢得到答案 – Blundell 2012-06-08 20:37:48
以及我已经尝试了几乎完全相同的代码,我在链接中给出。 – 2012-06-08 20:43:34
所以你应该在你的问题中以Android例子展示它。解释为什么它不起作用或日志显示 – Blundell 2012-06-08 20:47:38