11

外部ストレージの 1 つのファイルをフォルダー データベースにコピーしようとすると、次のエラーが発生します。

java.io.IOException: 読み取りに失敗しました: EBADF (不正なファイル番号)

このエラーは、このメソッドの while の行で発生します

private void copiarBaseDados(InputStream input) throws IOException{
  OutputStream output = new FileOutputStream(ConfiguracoesBaseDados.BANCO_PATH + ConfiguracoesBaseDados.BANCO_NOME);
  int tamanho;
  byte[] buffer = new byte[1024];
  while ((tamanho = input.read(buffer)) > 0) 
       output.write(buffer, 0, tamanho);
  output.flush();
  output.close();
  input.close();
}

何が問題なのですか?ありがとう

4

1 に答える 1

15

読み取る前に、入力(ストリーム)が存在するかどうかを確認してください。

また、次の権限があるかどうかも確認してください。

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
于 2013-01-29T14:12:07.713 に答える