socket传输文件
import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.OutputStream;import java.net.ServerSocket;import java.net.Socket;public class serverTest {private static ServerSocket server;private static File fl = new File("D:\\movie.zip");public static void main(String args[]){init();}public static void init() {Socket sc;DataInputStream is;OutputStream os;try{server = new ServerSocket(8000);System.out.println(fl.getName());while(true){ sc = server.accept(); os = sc.getOutputStream(); DataInputStream fis = new DataInputStream(new BufferedInputStream(new FileInputStream("d:\\movie.zip"))); DataOutputStream ds = new DataOutputStream(new BufferedOutputStream(os));ds.writeUTF(fl.getName());ds.flush();//刷新缓存区,输出里面的内容。byte buf[] = new byte[1024]; while (true) { int read = 0; if (fis != null) { read = fis.read(buf); } if (read == -1) { break; } ds.write(buf, 0, read); } ds.flush();ds.close();fis.close();sc.close();}}catch(Exception e){}}}?import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.net.Socket;import java.net.UnknownHostException;public class clientTest {private static Socket sc;private static InputStream is;public static void main(String[] args) {try {sc = new Socket("localhost",8000);is = sc.getInputStream();DataInputStream filename = new DataInputStream(new BufferedInputStream(is));//使用dataoutstream包装输入流String name = filename.readUTF();System.out.println(name);DataOutputStream fileOut = new DataOutputStream(new BufferedOutputStream(new BufferedOutputStream(new FileOutputStream("e:\"+name))));//使用dataoutstream包装输出流//读取服务端输出流中的内容到程序byte buffer[] = new byte[1024];while (true) { int read = 0; if (filename != null) { read = filename.read(buffer); } if (read == -1) { break; } fileOut.write(buffer, 0, read);//写文件内容到目的地 } fileOut.close();sc.close();is.close();filename.close();fileOut.close();} catch (UnknownHostException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}}?