ไม่กี่วันที่ผ่านมาน้องสาวของฉันบอกฉันว่าเธอซื้อหนังสืออิเล็กทรอนิกส์ใน JD หลังจากซื้อแล้วเธอพบว่าเธอสามารถอ่านได้ทางออนไลน์หรือใช้ผู้อ่านของตัวเอง มันไม่สะดวกมากดังนั้นฉันจึงขอให้ฉันนึกถึงวิธีแก้ปัญหา
ฉันเริ่มคิดเกี่ยวกับมัน ในตอนแรกฉันใช้เครื่องอ่าน Acrobat โดยตรงเพื่อเปิดและพบว่ามีเพียงไดเรกทอรีไม่มีอะไรอื่นและหน้าทั้งหมดมีอยู่ ฉันคิดว่าอาจมีการเพิ่มหน้ากากลงในเนื้อหาที่ถูกต้อง ผู้ที่สามารถใช้ "คีย์" เท่านั้นที่สามารถกรองได้ การถอดรหัสบรรณาธิการของคนอื่นมันจะไม่ทำงานในเวลาอันสั้น หลายคนบนอินเทอร์เน็ตก็คิดว่าจะใช้สคริปต์อัตโนมัติเพื่อถ่ายภาพหน้าจอของผู้อ่านอย่างเป็นทางการโดยอัตโนมัติ แต่ฉันพบว่าภาพหน้าจอไม่ใช่หน้าทีละหน้าซึ่งสับสนมาก ในที่สุดฉันสามารถหาวิธีได้โดยการอ่านบรรทัดนี้ทางออนไลน์
วิธีนี้คล้ายกับของชาวเน็ต มันถูกบันทึกเป็นรูปภาพและวิธีการทำให้เป็น PDF ผ่านเครื่องมือ PDF
ฉันรู้สึกประหลาดใจที่พบว่าเอกสารนั้นดีจริงๆโดยมีภาพหนึ่งภาพต่อหน้ามันทำเพื่อคุณ แต่มีเพียงภาพแรกและสองสามภาพสุดท้ายของหน้าปัจจุบันจะได้รับการอัปเดตในแต่ละครั้งและคนอื่น ๆ จะถูกล้าง ณ จุดนี้มีวิธีคิด:
ขั้นตอนที่ 1 ถึง 3 จะต้องทำซ้ำและสามารถนำไปใช้งานได้โดยใช้เครื่องมือและสคริปต์อัตโนมัติ
ขั้นตอนที่ 4 เพียงแค่เขียนคอนโทรลเลอร์เพียงอินเตอร์เฟส Java ที่ง่ายที่สุด
ขั้นตอนที่ 5: บริการออนไลน์โดยตรงสามารถทำได้
ทำไมเราต้องแคชการดาวน์โหลดก่อน? สิ่งนี้เกี่ยวข้องกับปัญหาของประสิทธิภาพการขจัดความซ้ำซ้อนของภาพและการกรองเนื่องจากภาพที่ได้รับหลังจากการปรับแต่ละครั้งอาจซ้ำกันและการซ้ำซ้อนจะเกิดขึ้นโดยอัตโนมัติ นอกจากนี้ยังเป็นการหลีกเลี่ยงปัญหาเช่นทางออกที่ผิดปกติในช่วงกลางของการดาวน์โหลดในขณะที่ได้รับเส้นทางรูปภาพและงานอื่น ๆ ที่ไม่สามารถดำเนินการได้ตามปกติ จากนั้นสคริปต์จะได้รับพา ธ และบันทึกไปยังเซิร์ฟเวอร์ของคุณเอง ปัญหาเดียวอาจเป็นปัญหาข้ามโดเมน เป็นผลให้ฉันพบว่ายังมีรูปภาพหายไปสองสามภาพซึ่งทำให้ฉันตระหนักถึงประโยชน์ของการใช้แคช ฉันสามารถตรวจสอบได้โดยตรงว่ารูปภาพเหล่านั้นหายไปผ่านรหัสโดยไม่ตรวจสอบไฟล์ JPG จำนวนไฟล์ที่มีตัวเลขหลักน้อยลงและเสร็จสิ้นด้วยตนเอง
ข้อบกพร่องเพียงอย่างเดียวในภาพที่ได้รับในลักษณะนี้คือพวกเขามีคำว่า "การอ่าน JD" และความละเอียดของภาพไม่สูงมากและตัวอักษรดูเหมือนจะมีขนยาว หากคุณมีความผิดปกติที่ครอบงำหรือติดตามคุณภาพสูงให้ใช้ผู้อ่านอย่างเป็นทางการ โดยส่วนตัวแล้วฉันอ่านมันอย่างชัดเจนมันเป็นเอกสารไม่ใช่รูปภาพ! - -
ต่อไปนี้เป็นรหัสเพื่อบันทึกข้อมูลเครือข่ายไปยังพื้นที่ภายในผ่าน URL
คลาสสาธารณะ httpurlConnectionUtil {// ข้อมูลสตรีมเพื่อรับข้อมูลการตอบกลับของผู้อ่านผ่านรับการร้องขอ public public public inputstream getInputStreambyget (url สตริง) {ลอง {httpurlConnection conn = (httpurlConnection) url (url) .OpenConnection (); conn.setReadtimeout (5000); conn.setConnectTimeout (5000); conn.setRequestMethod ("รับ"); if (conn.getResponsecode () == httpurlConnection.http_ok) {inputstream inputstream = conn.getInputStream (); ส่งคืนอินพุตสตรีม; }} catch (ioexception e) {e.printstacktrace (); } return null;} // บันทึกการตอบสนองข้อมูลของเซิร์ฟเวอร์ไปยังไฟล์โลคัลไฟล์สาธารณะคงที่ savedata (inputstream คือไฟล์ไฟล์) {ลอง (bufferedInputStream bis = new BufferedInputStream (IS); bufferedOutputTream Bos = ใหม่ bufferedputTream int len = -1; ในขณะที่ ((len = bis.read (บัฟเฟอร์))! = -1) {bos.write (บัฟเฟอร์, 0, len); bos.flush (); }} catch (ioexception e) {e.printstacktrace (); -เรียกว่า:
ตั้งค่า <string> imgNumber = (ตั้งค่า <string>) redistemplate.opsforhash (). keys (map_key); imgnumber.stream (). foreach (e-> {string url = (สตริง) redistemplate.opSforhash () get (map_key, e); string filename = e+". jpg"; ชื่อไฟล์); InputStream InputStream = HttpurlConnectionUtil .getInputStreambyget (URL);สรุป
ด้านบนเป็นรหัสตัวอย่างที่ตัวแก้ไขแนะนำให้คุณทราบเกี่ยวกับ Java Reading ข้อมูลระยะไกลผ่าน URL และเก็บไว้ในเครื่อง ฉันหวังว่ามันจะเป็นประโยชน์กับทุกคน หากคุณมีคำถามใด ๆ โปรดฝากข้อความถึงฉันและบรรณาธิการจะตอบกลับทุกคนในเวลา ขอบคุณมากสำหรับการสนับสนุนเว็บไซต์ Wulin.com!