java UDP协议传输文件。
import java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.SocketException; public class CudpSocket ...{ DatagramPacket dp = null; DatagramSocket dgsocket=null; public CudpSocket()...{ try ...{ byte[] buf = new byte[1000]; dgsocket = new DatagramSocket(12345); dp = new DatagramPacket(buf,buf.length); } catch (SocketException e) ...{ // TODO Auto-generated catch block e.printStackTrace(); } } public static void main(String[] args)...{ System.out.println("enter the server"); CudpSocket css = new CudpSocket(); try ...{ css.dgsocket.receive(css.dp); byte data[] = css.dp.getData(); System.out.println("datac.length : "+data.length); for(int i=0;i<data.length;i++)...{ System.out.println(data[i]); } NetFileW nfw = new NetFileW("C:/test/b.txt"); nfw.write(css.dp.getData()); // System.out.println(new String(css.dp.getData())); } catch (IOException e) ...{ // TODO Auto-generated catch block e.printStackTrace(); } } } ////////////////////////////////////////////////////////////////////////////////////////////////////////// import java.io.DataInputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; public class NetFileR ...{ private String filePath; public NetFileR(String filePath)...{ this.filePath = filePath; } public byte[] getData() throws IOException...{ File file = new File(filePath); FileInputStream filein = new FileInputStream(file); DataInputStream in = new DataInputStream(filein); byte data[] = new byte[8]; in.read(data); return data; } public String getFilePath() ...{ return filePath; } public void setFilePath(String filePath) ...{ this.filePath = filePath; } } /////////////////////////////////////////////////////////////////////// import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; public class NetFileW ...{ public NetFileW(String filePath)...{ this.filePath = filePath; } private String filePath; public void write(byte[] data) throws IOException...{ File file = new File(filePath); FileOutputStream out = new FileOutputStream(file); out.write(data); } public String getFilePath() ...{ return filePath; } public void setFilePath(String filePath) ...{ this.filePath = filePath; } } /////////////////////////////////////////////// import java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.Inet4Address; import java.net.SocketException; import java.net.UnknownHostException; public class SudpSocket ...{ private DatagramSocket dgs = null; private DatagramPacket dgp = null; public SudpSocket(String host,int prot,byte[] data)...{ try ...{ dgs = new DatagramSocket(9999); Inet4Address target=null; try ...{ target = (Inet4Address) Inet4Address.getByName(host); } catch (UnknownHostException e) ...{ // TODO Auto-generated catch block e.printStackTrace(); } dgp = new DatagramPacket(data,data.length,target,prot); } catch (SocketException e) ...{ // TODO Auto-generated catch block e.printStackTrace(); } } public static void main(String args[])...{ NetFileR nf = new NetFileR("C:/test/a.txt"); SudpSocket sps; try ...{ byte[] data = nf.getData(); System.out.println("data.length : "+data.length); for(int i=0;i<data.length;i++)...{ System.out.println(data[i]); } sps = new SudpSocket("192.168.152.170",12345,data); } catch (IOException e1) ...{ // TODO Auto-generated catch block e1.printStackTrace(); sps=null; } try ...{ sps.dgs.send(sps.dgp); } catch (IOException e) ...{ // TODO Auto-generated catch block e.printStackTrace(); sps=null; } System.out.println("over the sending"); } }