質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Q&A

0回答

1349閲覧

androidでGoogleDriveからdataをdownloadする時に、起きるIOexception Errorについて

marugon

総合スコア9

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

0グッド

0クリップ

投稿2017/01/08 11:53

編集2017/01/08 12:45

###前提・実現したいこと
androidでgoogle driveからdataをdownloadして、端末のdatabaseにデータ復元しています。
この方法が正しいのか分かりませんが、google drive api のinputstreamを取得して、一ファイルごと読み込んでdatabaseに保存後、また次のファイルと小分けにして保存しています。それをwhileでまわしています。そうする理由は、一度にまとめて読み込むと、out of memoryになると思ったからです。問題は、数ファイルは読み込めるのですが、途中からinputstreamにアクセスするとioexception errorが生じることです。どうも、読み込んだ後、データ保存を挟むと、このエラーがでるっぽいです。現在は、これをcatchすると、もう一度、inputstreamを取り出して、途中のデータまでskip後、読み込み再開しています。これでできなくはないですが、遅いです。スムーズにいかせる方法(inputstreamが途中からアクセスできなくならない方法)はないでしょうか?
また、androidのデバッグでは、このエラーが出ません。release apkで出てしまいます。この辺もヒントになりませんでしょうか?

###発生している問題・エラーメッセージ
ioexception

java.io.IOException: read failed: EBADF (Bad file number)
at libcore.io.IoBridge.read(IoBridge.java:432)
at java.io.FileInputStream.read(FileInputStream.java:179)
....

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/01/08 12:12

IOException の結果を android のレポート機能か Logcat で取得して貼り付けてください。
marugon

2017/01/08 13:13

追加しました。たぶんinputstreamがcloseしているんじゃないかと思うのですが、端末で成功したり、しなかったり、途中まで成功したりとかなり不安定です。
退会済みユーザー

退会済みユーザー

2017/01/08 13:22

EBADF なのでStreamが閉じてますね
marugon

2017/01/08 13:53

inputstreamにcloseを呼んでいませんが、タイムアウト的なにかでcloseされると思うのですが、それを防ぐ方法が分からないですね
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問