如何在android上创建预先分配的文件?类似于稀疏文件的东西?
我需要制作一个可以下载大文件的应用程序,并且我希望避免在下载开始时出现空间不足错误。我的解决方案需要支持恢复和写入内部和外部存储。
我已经尝试过这里写的内容: Create file with given size in Java 但出于某种原因,这些解决方案都没有奏效。
答案 0 :(得分:3)
这是一个有效的代码,适用于那些有问题的人:
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);
}
}