<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    學習net包---利用socket進行文件傳送

    和昨天的類似,只是今天學習了文件的傳遞,主要是加深對socket的理解以及對IO操作中DataInputStream和DataOutputStream類的使用,主要程序代碼如下:

  • 服務器端:

  • package test.net;

    import java.io.DataInputStream;
    import java.io.DataOutputStream;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.IOException;
    import java.net.ServerSocket;
    import java.net.Socket;

    /**
    ?* 本例為通過socket編程實現從服務器端發送文件到客戶端
    ?* @author zouqingbing
    ?*/
    public class fileServer {

    ?public static void main(String[] a) {
    ??fileServer fileServer = new fileServer();
    ??fileServer.sendFile();
    ?}

    ?public void sendFile() {
    ??byte[] buffer = new byte[1024];// 定義一byte類型的緩沖區。
    ??try {
    ???ServerSocket ssocket = new ServerSocket(2000);
    ???System.out.println("服務器啟動!");
    ???Socket socket = ssocket.accept();
    ???int length = 0;

    ???File f = new File("d:\\aaa.txt");
    ???FileInputStream fis = new FileInputStream(f);
    ???DataInputStream dataIn = new DataInputStream(fis);
    ???DataOutputStream dataOut = new DataOutputStream(socket
    ?????.getOutputStream());

    ???while ((length = dataIn.read(buffer)) != -1) {
    ????dataOut.write(buffer, 0, length);
    ???}
    ???dataOut.flush();
    ???dataOut.close();
    ???fis.close();
    ???System.out.println("文件傳送完畢!!!");
    ???socket.close();
    ??} catch (IOException ex) {
    ???ex.printStackTrace();
    ??}
    ?}
    }

  • 客戶端:

  • package test.net;

    import java.io.DataInputStream;
    import java.io.File;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.net.Socket;

    /**
    ?* 本例使用socket編程實現從服務器端接收程序到客戶端
    ?* @author zouqingbing
    ?*/
    public class fileClient {
    ?public static void main(String[] args) {
    ??fileClient fileClient = new fileClient();
    ??fileClient.receiveFile();
    ?}

    ?public void receiveFile() {
    ??byte[] buffer = new byte[1024];
    ??int length = 0;
    ??try {
    ???Socket socket = new Socket("10.40.2.7", 2000);
    ???DataInputStream dataIn = new DataInputStream(socket
    ?????.getInputStream());

    ???File f = new File("d:\\fff.txt");
    ???if (!f.exists())
    ????f.createNewFile();
    ???FileOutputStream fos = new FileOutputStream(f);

    ???while ((length = dataIn.read(buffer)) != -1) {
    ????fos.write(buffer, 0, length);
    ???}

    ???fos.close();
    ???System.out.println("客戶端文件接收完畢!!!");
    ???socket.close();
    ??} catch (IOException e) {
    ???e.printStackTrace();
    ??}
    ?}
    }

    另,要注意的是在socket通訊完畢后要關閉文件和socket連接,這里我起初沒有關閉,結果拋出異常,關閉后就ok了.

    posted on 2007-05-16 15:33 心硯 閱讀(533) 評論(0)  編輯  收藏 所屬分類: Java

    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    導航

    統計

    常用鏈接

    留言簿(2)

    隨筆分類

    文章分類

    文章檔案

    Forum

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 久草在视频免费福利| 两个人看的www高清免费视频| 久久99国产亚洲精品观看| 亚洲成AV人片在线观看无码| 亚洲A∨无码一区二区三区| a级毛片免费网站| 182tv免费视视频线路一二三| 一二三四影视在线看片免费 | 九九免费观看全部免费视频| 一级毛片aaaaaa免费看| 日本免费一区二区三区最新vr| 全黄性性激高免费视频| 亚洲美女一区二区三区| 苍井空亚洲精品AA片在线播放| 久久福利青草精品资源站免费| 24小时免费直播在线观看| 亚洲色成人WWW永久网站| 亚洲伊人久久大香线焦| 国产精品福利在线观看免费不卡 | 亚洲AV综合色区无码另类小说| 亚洲Aⅴ在线无码播放毛片一线天| 外国成人网在线观看免费视频| 久久夜色精品国产嚕嚕亚洲av| 久久狠狠躁免费观看2020| 亚洲一区二区三区在线播放| 亚洲国产成人久久综合一区| 无码中文字幕av免费放| 国产成人亚洲精品蜜芽影院| 波多野结衣免费在线观看| 亚洲国产人成网站在线电影动漫| 亚洲AV无码男人的天堂| 亚洲成A∨人片天堂网无码| 久久夜色精品国产噜噜亚洲a| 日韩电影免费在线观看中文字幕 | 亚洲成人高清在线观看| 欧洲人成在线免费| 久久狠狠爱亚洲综合影院| h片在线免费观看| 久久久无码精品亚洲日韩京东传媒| 在线v片免费观看视频| 特a级免费高清黄色片|