数日前、私の妹は突然、彼女がJDで電子書籍を買ったと私に言った。それを購入した後、彼女はそれをオンラインで読むことができるか、自分の読者を使用することができることを発見しました。それは非常に不便だったので、解決策を考えるように頼みました。
私はそれについて考え始めました。当初、私はAcrobat Readerを直接使用してそれを開き、ディレクトリのみがあり、他に何もありませんでした。マスクが正しいコンテンツに追加される可能性があると思いました。 「キー」のみを使用できる人はそれをフィルタリングできます。他の人の編集者をクラックするために、それは間違いなく短時間では機能しません。インターネット上の多くの人々は、自動化されたスクリプトを使用して公式の読者のスクリーンショットを自動的に撮影することも考えましたが、スクリーンショットはページごとではないことがわかりました。最後に、このラインをオンラインで読むことでのみ方法を見つけることができます。
この方法は、ネチズンの方法に似ています。それは写真として保存され、PDFツールを介してPDFにする方法を保存します。
ドキュメントが本当に良いことに驚いたのは、ページごとに1枚の写真があり、あなたのために行われましたが、現在のページの最初と最後の数枚の写真は一度に更新され、他の写真がクリアされます。この時点で、考え方があります:
手順1〜3を繰り返す必要があり、自動化されたツールとスクリプトを使用して実装できます。
ステップ4コントローラーを作成するだけです。これは、最も単純なJavaインターフェイスです。
ステップ5:直接オンラインサービスを達成できます。
最初にダウンロードをキャッシュする必要があるのはなぜですか?これには、各調整後に得られた画像が複製され、重複が自動的に重複排除される可能性があるため、効率、画像重複排除、フィルタリングの問題が含まれます。また、画像パスや正常に実行できない他のタスクを取得しながら、ダウンロードの途中で異常な出口などの問題を回避することです。その後、スクリプトはパスを取得し、自分のサーバーに保存します。唯一の問題は、クロスドメインの問題です。その結果、まだいくつかの写真が欠けていることがわかりました。そのため、キャッシュを使用することの利点がわかりました。 JPGファイルをチェックせずにコードを介してこれらの写真が欠落していることを直接確認できます。1桁の数が少ないファイルの数、そして最終的に手動で完了しました。
この方法で得られた写真の唯一の欠陥は、「JD Reading」という言葉があり、画像の解像度がそれほど高くなく、フォントには毛皮が多いようです。強迫性障害がある場合、または高品質を追求する場合は、公式の読者を使用してください。私は個人的にはっきりとそれを読みました、それはドキュメントであり、写真ではありません! ! !
以下は、URLを介してネットワークデータをローカルエリアに保存するコードです。
パブリッククラスhttpurlconnectionutil {//データストリームget request cublic static inputstreambyget(string url){try {httpurlconnection conn =(httpurlconnection)new url(url).openconnection(); conn.setReadTimeout(5000); conn.setConnectTimeout(5000); conn.setRequestMethod( "get"); if(conn.getResponseCode()== httpurlconnection.http_ok){inputstream inputstream = conn.getInputStream(); inputstreamを返します。 }} catch(ioexception e){e.printstacktrace(); } return null;} //サーバーのデータ応答をローカルファイルに保存しますpublic static void savedata(file file){try(bufferedinputStream bis = new bufferedinputStream(is); bufferedoutputStream bos = new bufferedoutputStream(new fileoutputtream(new fileoutputstream(new fileoutputStream); int len = -1; while((len = bis.read(buffer))!= -1){bos.write(buffer、0、len); bos.flush(); }} catch(ioexception e){e.printstacktrace(); }}}呼びかけ:
<string> imgnumber =(set <string>)redistemplate.opsforhash()。keys(map_key); imgnumber.stream()。foreach(e-> {string url =(string)redistemplate.opsforhash()。 filename); inputstream stream = httpurlconnectionutil .getInputStreamByget(url);要約します
上記は、編集者がURLを介してリモートデータを読み取り、ローカルに保持するJavaについて紹介したコードの例です。私はそれが誰にでも役立つことを願っています。ご質問がある場合は、メッセージを残してください。編集者は、すべての人に時間内に返信します。 wulin.comのウェブサイトへのご支援ありがとうございます!