CodeGym /หลักสูตร /คอลเลกชัน Java /ดาวน์โหลดไฟล์

ดาวน์โหลดไฟล์

คอลเลกชัน Java
ระดับ, บทเรียน
มีอยู่

“สวัสดี อามีโก้!”

“สวัสดี เอลลี่!”

“คุณดูพอใจกับตัวเองมากในวันนี้”

"เฮ้ บิลาโบป่วย"

"ดังนั้นเขาจึงไม่สามารถอธิบายสิ่งที่น่าสนใจ มีประโยชน์ และจำเป็นให้คุณได้มากมาย ได้เวลาสวมกางเกงหุ่นยนต์ตัวใหญ่ของคุณแล้ว"

“อ๊ะ ฉันสัญญาว่าจะคิดเรื่องนี้เอง 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());

"น่าสนใจจัง! ฉันไม่คิดว่าการดาวน์โหลดไฟล์จะง่ายขนาดนี้"

"ปกติไม่มีใครทำแบบนี้หรอก เพราะไฟล์อาจมีขนาดใหญ่และใช้เวลานานมากในการดาวน์โหลด"

"มีเฟรมเวิร์กค่อนข้างน้อยที่ช่วยให้การทำงานกับไฟล์ง่ายขึ้นมาก แต่ฉันยังไม่พร้อมที่จะพูดถึงมันในตอนนี้ คราวหน้า"

ความคิดเห็น
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION