首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

socket传输资料

2012-12-19 
socket传输文件import java.io.BufferedInputStreamimport java.io.BufferedOutputStreamimport java.io

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();}}}
?

热点排行