亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

Socket總結相關實現(傳輸對象和傳輸文件)

標簽:
Java
客户端传输对象

//建立User类

public class User implements Serializable {
     private String userName;
     private String userId;
     public String getUserName() {
        return userName;
    }
    public void setUserName(String userName) {
        this.userName = userName;
    }
    public String getUserId() {
        return userId;
    }
    public void setUserId(String userId) {
        this.userId = userId;
    }
    public User(){};
     public User(String userName,String userId){
         this.userName=userName;
         this.userId=userId;
     };
}
客户端相关代码
OutputStream os = socket.getOutputStream();// 字节输出流
            PrintWriter pwPrintWriter = new PrintWriter(os);// 将输出流包装成打印流
            ObjectOutputStream oos = new ObjectOutputStream(os);
            // pwPrintWriter.write("用户名:Tom;密码:783");//传入字符串
            User user = new User("Tom", "783");// 传入对象
            oos.writeObject(user);
            pwPrintWriter.flush();
            socket.shutdownOutput();
服务器端相关代码
ObjectInputStream is = new ObjectInputStream(socket.getInputStream());
User user = (User) is.readObject();
System.out.println("我是服务器,客户端说" + user.getUserName() + ":"
        + user.getUserId());
socket.shutdownInput();// 关闭输入流
outputStream = socket.getOutputStream(); 
服务器端传输文件,建立File文件夹,里面放置File/UDPClient.txt文件
            file = new File("File/UDPClient.txt");
            fin = new FileInputStream(file);
            byte[] sendByte = new byte[1024];       
            ObjectOutputStream obj=new ObjectOutputStream(outputStream);
            int length;
            while ((length = fin.read(sendByte, 0, sendByte.length))!=-1) {
                obj.write(sendByte, 0, length);
                obj.flush();
            }
客户端接收文件,并进行写出文件
            ObjectInputStream din =new ObjectInputStream(inputStream);      
            FileOutputStream fos = new FileOutputStream("File/UDOClient1.txt"); 
            byte[] buf=new byte[1024];
            int len;
            while ((len = din.read(buf,0,buf.length)) != -1) {
                fos.write(buf, 0, len);
                fos.flush();
            }
            fos.close();
            socket.shutdownInput(); 
點擊查看更多內容
21人點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消