以前にも似たような質問して概要教えてもらったこともありますが、まだ解決方法わかりません。 助けてください。 DataInputStreamを使ってファイル読む時、決まったキーワードから決まったキーワードまでのデータを読んで、ファイルやメモリ上書き込みたい。 ファイルはMIME multipartで、各パート毎にContent-TypeとContent-Transfer-Encodingが指定されています。 例) --MIME_boundary-1 Content-Type: text/xml; charset="UTF-8" Content-Transfer-Encoding: 8bit 直後 (1)XML式でヘッダー情報と副ヘッダー情報 --MIME_boundary-2 Content-Type: application/octet-stream Content-Location: data.bin 直後 (2)バイナリデータ --MIME_boundary-2 (1)のXML式ヘッダーファイルに書き込みできればDOMやSAXパーサーで処理はやり方わかります。問題はストリームで読んだ時、「ここからだよ!」という、どのようにわかりますか? 人間の目で見ると の間はXMLヘッダーですのでその分だけ読めばよいとか分かりますよね。 (2)Content-Location: data.binの後、次の--MIME_boundary-2を見つけるまでflaotのバイナリですので4バイトづつ読んで2次元配列に保存したい 2次元:副ヘッダー複数ありますので副ヘッダーごとのバイナリデータの保存のため 自分はこのような対策考えています。 (1)一charづつよんで決まったキーワードの長さ分ためる 8 char 分ためたら""と比較して、ヒットしたらそのindexを覚えて、同じように のindexも見つける。 (2)別の処理でその二つのindex内だけ読んでファイルに書き込む きっと、もっと良い方法あるんでしょうね。 よろしくお願いします。
↧