昨日見た夢を教えて下さい

アンドロイド7.0、ファイルシステムFAT32のスマホの外部ストレージに、日本語ウィキペディア16.5GBを入れるのが目的です。

FAT32のため、9つにわかれた個別rarファイルをスマホに逐一ダウンロードして、RARで解凍しました。内部ストレージに解凍した場合は正常に終わり、EPWINGフォルダーができますが、マイクロSDカードを解凍先に指定した場合は以下のエラーが出て、何も生成されません。
「ファイル/sdcard/external_sd/Wikip_ja20170920/EPWING/WIKIP/DATA/honmon.ebzで書き込みエラーが発生しました。Value too large for defined data type」(合計エラー数1)

なぜ内部ストレージだと成功し、外部SDカードだとうまくいかないのかなと思います。

「Value too large for defined data type」で検索してみましたが、アンドロイドスマホに即したわかりやすい解決策は見出せませんでした。

残念ながらあと一歩のところでうまくいきません。

ご教示いただけますようよろしくお願いいたします。

A 回答 (5件)

ANo.4 です。



Android の開発者ではないので確かなことは判りません(笑)が、内部ストレージ化しても 「マイクロ SD カード」 と実際の内部ストレージはシームレスにはなっていないでしょうから、内部ストレージに収納しきれないものが、内部ストレージ化した 「マイクロ SD カード」 に送っても、そちらが 「10~15GBの空き容量」 しかなければ、解凍もできません。よって、どちらかと言うと [2] の可能性が高いでしょう。

どうも、試している環境で悪い条件ばかりが揃っているようです(笑)。やってみるとしたら、128GB の 「マイクロ SD カード」 でも購入して内部ストレージ化して見るとか、既存の 64GB 「マイクロ SD カード」 を一度クリアして試してみるとかです。

今ある機材で行うのであれば、64GB 内にあるファイルを全てパソコンに転送してバックアップ、64GB を再度フォーマットして、改めて 23GB を解凍・マージしてみたらどうでしょう。そのあと、必要なファイルを容量に合わせて書き戻す訳です。

パソコンと違って、Android は Linux 系統のフォーマットを採用していると思います。ストレージ容量は、それ程多くはありませんので、パソコンと同じレベルの作業はしにくいでしょう。スマートフォンだけで作業せずにパソコンと接続し、ファイルのやり取りにより、可能な方法を探したらどうでしょう。
    • good
    • 0
この回答へのお礼

SDカードを内部ストレージ化した時点で、内部ストレージはデータファイルをおけない仕様になるのかもしれません。

容量が十分あるからといって内部ストレージを解凍先に指定しても、生成ファイルは自動で外部ストレージに送られ、送られた先に十分空きがないので失敗したという感じですね。

Boookendsにウィキペディアの新リリースが出たとき、ご提案の内容をぜひ試してみようと思います。

初心者相手に根気よくご回答いただき、ほんとうにありがとうございました。

お礼日時:2018/05/09 11:31

ANo.3 です。



使われているスマートフォンのストレージ容量は 64GB、マイクロ SD カードも 64GB の容量ですね。内部ストレージには、空き容量が 40GB 程度だということですが、23GB のファイルをダウンロードして、更に解凍する場合、倍以上の容量が必要になります。

これは、元のファイルの容量の他に解凍してマージして行くためです。元のファイルは、マージと共に消えて行く訳ではありません。元のファイルは、解凍してマージが完了するまで残っているはずですので、容量的には倍以上が必要と言う訳です。

「マイクロ SD カード」 を内部ストレージ化して容量が十分にある状態なら、23GB のファイルを解凍してマージすることは可能だと思いますが。
    • good
    • 0
この回答へのお礼

ご返答ありがとうございます。

ダウンロードファイルがSDカード内にある状態で、確か44GBほど空きのある内部ストレージを解凍先に指定しても、だめでした。
そのときSDカードは10~15GBの空き容量だったと思います。

素人考えですが、以下の2つの可能性があると思います。

①御回答No.1にある「機種による実装次第」。

②解凍先を内部ストレージに指定しても、データ類は外部ストレージに自動で移動される?ので、外部ストレージの空き容量に余裕がなければ、うまくいかない。
調べたのですが、何GBまでのSDカードを挿せるかは不明です。

どちらの方の可能性が高いとお考えでしょうか。または別の理由があるとお考えでしょうか。

お礼日時:2018/05/08 10:39

ANo.2 です。



内部ストレージ化で 16.5GB のファイルは移せたそうで、良かったです。

"今度は23GBの解凍ファイルを外部ストレージにつくろうとしましたが、やはり「大きすぎる」というエラーが出ました。次に内部ストレージを解凍先にして望みをかけましたが、これも残念ながらむりでした。"
→ お使いの 「マイクロ SD カード」 の容量が判りませんが、外部ストレージでは 4GB 以上のファイルは作成できませんし、内部ストレージにする場合でも、空き容量の問題でできないこともあるでしょう。64GB のマイクロ SDXC カードを使って内部ストレージ化すれば、16.5GB と一緒に保存しても余裕があると思います。

"もっと処理の速いスマホと転送の速いマイクロSDカードなら可能かもしれないと想像しています"
→ 残念ながらスマートフォンのストレージ容量と処理能力の速さは関係ありません。当然、高い機種では高速な CPU を使っていて、ストレージの容量も大きいものになるます。内部ストレージも 128GB や 256GB あったりします。それは、単に容量が大きいと高価になるだけですので、予算があればそう言ったものを購入されれば、23GB 程度のファイルは楽に収まるでしょう。16GB の内部ストレージでは完全に容量オーバーですし、32GB では本体のプログラムもありますので、他に保存していたら 23GB は入らない可能性が高いです。

外部ストレージが FAT32 である限りは 4GB 以上保存できないので、どうにもなりません。"アンドロイド4.2のXperia Z Ultra" のように exFAT でも認識できるようなカスタマイズがあれば可能かもしれませんが、そこらあたりは持っていないので判断できません。
    • good
    • 0
この回答へのお礼

ご返答ありがとうございます。

使っているのは64GBのマイクロSDXCカード(Class10 転送速度30MB/s)です。

スマホ(CPU MTK6750T Octa Core 1.5GHz;RAM 4GB)の内部ストレージ容量は64GBあり、23GBの解凍ファイルをつくろうとしたとき、40GB以上の空き容量がありました。

そのため、空き容量に問題はなかったと思います。

内部ストレージにどれくらい大きな解凍ファイルをつくれるかという限界線が、所有するスマホでは16GBと23GBの間のどこかにあるように思えます。

私の環境で23GBの解凍ファイルをつくるには、工夫の余地はもうないのでしょうか。

ご助言いただければ幸いです。

お礼日時:2018/05/07 09:42

ANo.1 です。



"アンドロイド4.2のXperia Z Ultra" では exFAT 64GB が認識したとのこと、それは個々の機種によるような気がします。これは一般的な Android についての話なので、個々の機種については実装次第なのではないでしょうか。

実際のところ、内部ストレージについては、FAT32 であるかどうかは不明です。内部ストレージに 16.5GB のファイルが保存できたのであれば、FAT32 ではない Android 特有のフォーマットではないかと思われます。

マイクロ SD カードについては、外部ストレージ扱いになっている訳ですが、内部ストレージ化することも可能なようです。これは、内部ストレージを拡張するようなので、有効ではないでしょうか。

代償としては、それ専用のストレージになること、内部ストレージ化する際にフォーマットが行われるので、データが全て削除されてしまうことなどのようです。内部ストレージ化すると、アプリケーション等もインストールできるみたいです。
https://ghh.jetstream.bz/archives/2781
    • good
    • 0
この回答へのお礼

ご教示ありがとうございます。

SDカードを内部ストレージ化することによって、内部ストレージにあった15GB超のファイルを外部ストレージに移動できました。
SDカードを内部ストレージ化しても、設定>ストレージを見ると、内部/SDカードの区別は残っていました。

今度は23GBの解凍ファイルを外部ストレージにつくろうとしましたが、やはり「大きすぎる」というエラーが出ました。
次に内部ストレージを解凍先にして望みをかけましたが、これも残念ながらむりでした。

もっと処理の速いスマホと転送の速いマイクロSDカードなら可能かもしれないと想像していますが、どうお考えでしょうか。

お礼日時:2018/05/06 17:28

内部ストレージのファイルフォーマットは、何でしょう? マイクロ SD カードが 32GB 以下だった場合は、FAT32 フォーマットですので、4GB 以上のファイルは保存できません。

"容量が大き過ぎる" と言うメッセージが出ているので、多分これでしょう。

マイクロ SD カードが 64GB 以上だと exFAT フォーマットになりますので、FAT32 のような制限はありません。
http://faq.buffalo.jp/app/answers/detail/a_id/1079

ところが、Android は exFAT に対応していません。64GB のマイクロ SD カードでも FAT32 でフォーマットし直さないと認識しないようです。結局、このファイルをマージするのは難しいかも知れません。
https://smhn.info/201206-android-sdxc-sdhc

尚、64GB 以上マイクロ SD カードの FAT32 フォーマットは、下記のようなソフトで可能です。FAT32 でも 2TB まで使えます。32GB までの制限は、あくまでも Windows 上のものです。
http://wzero3.iinaa.net/Android_microSDXC64GB.html ← 64GB のフォーマット
http://buffalo.jp/download/driver/hd/format.html ← Disk Formatter

外部ストレージなどで HDD が認識するのであれば、それでマージできるような気がします。Android でマイクロ SD カードを使う限りは無理のようです。
    • good
    • 0
この回答へのお礼

ご返答ありがとうございます。

PCにスマホをつないでプロパティを見ると、内部ストレージもSDカードも「汎用階層方式」とあります。この言葉の意味はよくわかりませんが、どちらも4GB以上を転送できないのでFAT32のことだろうと思っています。

「AndroidはexFATに対応していない」とのことですが、アンドロイド4.2のXperia Z Ultraでは、なぜかexFATにフォーマットした64GBのSDカードを入れても認識し、20GB以上の辞書データも入れることができます。

内部/外部ストレージともFAT32であっても、9分割されたウィキペディアのrarファイルを、面倒ですが個々にダウンロードして解凍すると、内部ストレージにはウィキペディア16.5GBをつくれました。内部ストレージは余裕がないので、ほんとうは外部ストレージに本当はつくりたかったのですが。

上記についてはどうお考えでしょうか。

お礼日時:2018/05/06 10:16

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!