如何在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