回答編集履歴
1
追記
test
CHANGED
@@ -27,3 +27,27 @@
|
|
27
27
|
蛇足3:
|
28
28
|
|
29
29
|
Inflaterの代わりにInflaterInputStreamを使うと圧縮データの入力ストリームを圧縮解除した入力ストリームへ簡単に変換できます。そのほうが楽かも知れません。
|
30
|
+
|
31
|
+
|
32
|
+
|
33
|
+
---
|
34
|
+
|
35
|
+
|
36
|
+
|
37
|
+
質問者さんからのコメントにより追記(11/7 19:04):
|
38
|
+
|
39
|
+
|
40
|
+
|
41
|
+
バイナリーデータ部分をテキストエディタで読み込んでいたとのことでしたので、やはり文字化けが原因と思います。一般にバイナリーデータはいったん文字へ変換すると(※)と元のデータは復元できません。それはバイナリーデータと文字データとの間の変換が通常は不可逆なためです。
|
42
|
+
|
43
|
+
|
44
|
+
|
45
|
+
PDFをJavaで扱うためには入力にバイナリー入力ストリーム(InputStream)を使い、文字であることがわかっている部分のみをStringへ変換するといった配慮が必要になります。文字とバイナリーが混在したデータを扱う処理は少々難易度が高く「こうするとよい」といった簡単なアドバイスが自分にはできません。PDFの中身を解析する目的自体には専用のライブラリーを使う方がよいかも知れません。「java PDFReader free」などで検索するといくつかあるようです。
|
46
|
+
|
47
|
+
|
48
|
+
|
49
|
+
※:文字へ変換
|
50
|
+
|
51
|
+
Java上では文字列ストリームを使ったり、Stringに変換したりすることにあたります。またテキストエディタで開くといったことも同様です。
|
52
|
+
|
53
|
+
|