2

Androidで事前に割り当てられたファイルを作成するにはどうすればよいですか? スパースファイルのようなもの?

大きなファイルをダウンロードするアプリケーションを作成する必要があり、ダウンロードの開始中に容量不足エラーが発生するのを避けたいと考えています。私のソリューションは、内部ストレージと外部ストレージの両方への再開と書き込みをサポートする必要があります。

私はここに書かれていることを試しました: Javaで指定されたサイズのファイルを作成します が、何らかの理由で、これらのソリューションはどれも機能しませんでした。

4

1 に答える 1

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);
      }
  }
于 2012-06-08T21:02:03.190 に答える