在android手机中删除sdcard中的文件

时间:2013-08-16 17:52:44

标签: java android file-io android-sdcard delete-file

我想删除名为" playerdata.txt"的文件。在SD卡上。以下代码无效

{
    File file = new File("/sdcard/GameHacker/playerdata.txt");
    file.delete();
}

我的问题是我要复制" playerdata.txt"到名为GameHacker的文件夹,我使用此代码

Context Context = getApplicationContext();

String DestinationFile = "/sdcard/GameHacker/playerdata.txt";
if (!new File(DestinationFile).exists()) {
  try {
    CopyFromAssetsToStorage(Context, "playerdata", DestinationFile);
  } catch (IOException e) {
    e.printStackTrace();
  }
}
}

private void CopyFromAssetsToStorage(Context Context, String SourceFile, String DestinationFile) throws IOException {
  InputStream IS = Context.getAssets().open(SourceFile);
  OutputStream OS = new FileOutputStream(DestinationFile);
  CopyStream(IS, OS);
  OS.flush();
  OS.close();
  IS.close();
}
private void CopyStream(InputStream Input, OutputStream Output) throws IOException {
  byte[] buffer = new byte[5120];
  int length = Input.read(buffer);
  while (length > 0) {
    Output.write(buffer, 0, length);
    length = Input.read(buffer);

  }

}

它工作正常,但第二次它没有替换它,我想先删除它,然后复制,我添加

> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>

清单

2 个答案:

答案 0 :(得分:2)

Ty添加

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
AndroidManifest.xml文件中的

答案 1 :(得分:0)

文件未被删除可能有很多原因。其中之一是您的应用程序没有SD卡的写入权限。尝试包含该权限  机器人:名称=“android.permission.WRITE_EXTERNAL_STORAGE