“สวัสดี อามีโก้!”
“สวัสดี เอลลี่!”
“คุณดูพอใจกับตัวเองมากในวันนี้”
"เฮ้ บิลาโบป่วย"
"ดังนั้นเขาจึงไม่สามารถอธิบายสิ่งที่น่าสนใจ มีประโยชน์ และจำเป็นให้คุณได้มากมาย ได้เวลาสวมกางเกงหุ่นยนต์ตัวใหญ่ของคุณแล้ว"
“อ๊ะ ฉันสัญญาว่าจะคิดเรื่องนี้เอง Bilaabo ให้ลิงค์กับฉัน”
“โอเค ดี งั้นฉันจะบอกสิ่งที่น่าสนใจให้นายฟัง”
"กล่าวคือ วิธีดาวน์โหลดวิดีโอจากอินเทอร์เน็ต"
"ในการทำงานกับอินเทอร์เน็ต Java มีคลาสพิเศษที่เรียกว่า URL ต่อไปนี้เป็นวิธีใช้คลาสนี้เพื่อดาวน์โหลดไฟล์:"
1) ก่อนอื่น คุณต้องระบุ URL ที่ถูกต้องของเซิร์ฟเวอร์ที่คุณต้องการ
2) จากนั้นคุณต้องใช้ URL เพื่อสร้างการเชื่อมต่อกับเซิร์ฟเวอร์
3) จากนั้นส่งเนื้อหาของคำขอหากเป็นคำขอ POST หรือคุณสามารถข้ามขั้นตอนนี้ได้หากเป็นคำขอ GET
4) สุดท้าย อ่านการตอบสนองของเซิร์ฟเวอร์
"นี่คือลักษณะของการดาวน์โหลดไฟล์อย่างง่าย:"
URL url = new URL("https://www.google.com.ua/images/srpr/logo11w.png");
URLConnection connection = url.openConnection(); // Establish a connection
// Get an OutputStream in order to write the request to it
OutputStream outputStream = connection.getOutputStream();
outputStream.write(1);
outputStream.flush();
// Get an InputStream in order to read the response from it
InputStream inputStream = connection.getInputStream();
Files.copy(inputStream, new File("c:/google.png").toPath());
"ขั้นแรก เราสร้างการเชื่อมต่อกับเซิร์ฟเวอร์โดยรับURLConnection object"
"จากนั้นเราจะได้ OutputStream ที่ต้องเขียนคำขอ และเราเขียนบางอย่างลงไป"
"จากนั้นเราจะได้วัตถุ InputStream ที่เป็นตัวแทนของการตอบกลับ ซึ่งเราอ่านการตอบกลับเอง เราใช้วิธี Files.copy เพื่อบันทึกข้อมูลที่ส่งไปยังไฟล์ «c:/google.png»"
"ใช่ ฉันเข้าใจแล้ว «write(1)» คืออะไร"
"ฉันรวมไว้เพื่อแสดงให้คุณเห็นว่าคุณสามารถเขียนบางอย่างที่นั่นได้ คุณไม่จำเป็นต้องเขียนอะไรในคำขอเพื่อดาวน์โหลดไฟล์ คุณสามารถรับ InputStream ได้ทันทีและเริ่มอ่านคำตอบจากที่นั่น วัตถุ URL มีเมธอด openStream() ที่ส่งคืนวัตถุ InputStream ทันที แต่วิธีนี้เหมาะสำหรับคำขอ GET เท่านั้น ตัวอย่างเช่น:"
URL url = new URL("https://www.google.com.ua/images/srpr/logo11w.png");
InputStream inputStream = url.openStream();
Files.copy(inputStream, new File("c:/google.png").toPath());
"น่าสนใจจัง! ฉันไม่คิดว่าการดาวน์โหลดไฟล์จะง่ายขนาดนี้"
"ปกติไม่มีใครทำแบบนี้หรอก เพราะไฟล์อาจมีขนาดใหญ่และใช้เวลานานมากในการดาวน์โหลด"
"มีเฟรมเวิร์กค่อนข้างน้อยที่ช่วยให้การทำงานกับไฟล์ง่ายขึ้นมาก แต่ฉันยังไม่พร้อมที่จะพูดถึงมันในตอนนี้ คราวหน้า"
GO TO FULL VERSION