มีงานแบบอย่างด่วนวิ่งเข้าหาแบบไม่ทันรับมือตั้งแต่เมื่อวาน ตอนแรกนึกว่าจะเสร็จแล้ววันนี้ต้องแก้ใหม่ด้วย NFS ไม่สามารถใช้ได้อีก วันนี้เลยต้องหาทางส่งข้อมูลขนาดใหญ่ด้วยวิธีอื่นแทน แล้วก็มีมติมาว่าใช้ FTP ก็เลยต้องไปหาวิธีใช้ในจาวามาซะนี่
ลองหาในอากู๋ดูก็เจออยู่หลายเว็บแต่ว่าที่ใช้มีอยู่เว็บเดียวคือ Javaworld: Java FTP Library Review เพราะอยากได้อะไรคร่าวๆ ไม่ต้องละเอียดมาก ไม่ต้องหาอะไรมาลงเพิ่ม แล้วก็ทำให้รู้อย่างนึงว่า มันมีอยู่แล้วแต่มีข้อเสียคือ มันต้องปิดเปิดบ่อยๆ ดังนั้นส่งไฟล์เล็กๆ หลายๆ ไฟล์ท่าทางจะไม่ดีแต่ไม่เป็นไร ยังไงไฟล์ที่ส่งก็ใหญ่อยู่และ (ได้ยินมาว่ามากกว่า 5GB ต่อไฟล์ -_-”) ขี้เกียจบ่นมากและ ดูโค้ดเลยละกัน เพราะอันนี้กะว่าเขียนเก็บเท่านั้นแล
String ftpTarget = String.format("ftp://%s:%s@%s/%s%s;type=i", user, pass, target, prefix, filename); URL url = new URL(ftpTarget); URLConnection connection = url.openConnection(); OutputStream out = connection.getOutputStream(); FileInputStream in = new FileInputStream(filename); byte[] data = new byte[16384]; while (true) { int count = in.read(data); if (count <= 0) break; out.write(data, 0, count); } out.close(); in.close();
แค่นี้แหละ ไว้ส่งไฟล์อย่างเดียว จบ ;p
Filed under ภาษาเครื่องกล | No Comments »




