ตัวอย่างนี้แชร์รหัสเฉพาะสำหรับ Java เพื่อส่งไฟล์จากระยะไกลไปยังเซิร์ฟเวอร์สำหรับการอ้างอิงของคุณ เนื้อหาเฉพาะมีดังนี้
1. แพ็คเกจขวดที่เกี่ยวข้อง JCIFS-1.3.14.1.jar
2. สร้างประกาศของ SMB
นำเข้า Java.io.BufferedInputStream; นำเข้า Java.io.File; นำเข้า Java.io.FileInputStream; นำเข้า java.io.ioException; นำเข้า Java.net.Malformedurlexception; นำเข้า java.net.unknownhostexception; นำเข้า jcifs.smb.smbexception; นำเข้า jcifs.smb.smbfile; นำเข้า jcifs.smb.smbfileoutputstream; ชั้นเรียนสาธารณะ smbutil {// 1. ประกาศอสังหาริมทรัพย์ url สตริงส่วนตัว = "smb: // ชื่อผู้ใช้: [email protected]/mars/"; smbfile ส่วนตัว smbfile = null; SMBFileOutputStream ส่วนตัว smBout = null; smbutil smbutil ส่วนตัว = null; // โปรโตคอลไฟล์ที่ใช้ร่วมกัน private smbutil (String url) {this.url = url; this.init (); } // 2. รับ smbutil และวิธีการเชื่อมต่อสาธารณะคงที่ smbutil getInstance (url สตริง) {ถ้า (smbutil == null) ส่งคืน smbutil ใหม่ (URL); กลับ smbutil; } // 3.SMBFILE การเชื่อมต่อสาธารณะเป็นโมฆะ INIT () {ลอง {System.out.println ("เริ่มการเชื่อมต่อ ... url:" + this.url); smbfile = ใหม่ smbfile (this.url); smbfile.connect (); System.out.println ("การเชื่อมต่อสำเร็จ ... URL:" + this.url); } catch (malformedurlexception e) {e.printstacktrace (); System.out.print (e); } catch (ioexception e) {e.printstacktrace (); System.out.print (e); }} // 4. อัปโหลดไฟล์ไปยังเซิร์ฟเวอร์สาธารณะ int uploadFile (ไฟล์ไฟล์) {int flag = -1; bufferedInputStream bf = null; ลอง {this.smbout = ใหม่ smbfileOutputStream (this.url + "/" + file.getName (), false); bf = ใหม่ bufferedInputStream (ใหม่ FileInputStream (ไฟล์)); ไบต์ [] bt = ไบต์ใหม่ [8192]; int n = bf.read (bt); ในขณะที่ (n! = -1) {this.smbout.write (bt, 0, n); this.smbout.flush (); n = bf.read (bt); } flag = 0; System.out.println ("การถ่ายโอนไฟล์สิ้นสุด ... "); } catch (smbexception e) {e.printstacktrace (); System.out.println (e); } catch (malformedurlexception e) {e.printstacktrace (); System.out.println (e); } catch (unknownhostexception e) {e.printstacktrace (); System.out.println (e); } catch (unknownhostexception e) {e.printstacktrace (); System.out.println ("ไม่พบโฮสต์ ... url:" + this.url); } catch (ioexception e) {e.printstacktrace (); System.out.println (e); } ในที่สุด {ลอง {ถ้า (null! = this.smbout) this.smbout.close (); ถ้า (null! = bf) bf.close (); } catch (Exception e2) {e2.printstacktrace (); }} return flag; } // 5. ทดสอบโมฆะคงที่สาธารณะ (สตริง [] args) {// รูปแบบที่อยู่เซิร์ฟเวอร์ smb: // ชื่อผู้ใช้คอมพิวเตอร์: รหัสผ่านคอมพิวเตอร์@คอมพิวเตอร์ที่อยู่ IP/IP โฟลเดอร์ที่แชร์ ip remoteurl = "smb: // wangqinghua: [email protected]/mars/"; String localfile = "f:/สวิตช์การผลิตและการขาย Directory.xls"; // ไฟล์โลคัลที่จะอัปโหลดไฟล์ไฟล์ = ไฟล์ใหม่ (localFile); smbutil smb = smbutil.getInstance (RemoteUrl); smb.uploadfile (ไฟล์); // อัปโหลดไฟล์}}สิ่งที่ควรทราบ:
ข้างต้นจะขึ้นอยู่กับ LAN และไดเรกทอรีหรือโฟลเดอร์ที่อัปโหลดไฟล์จะต้องตั้งค่าเป็นโหมดแชร์
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น