⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 clienttest.java

📁 一个用java开发的文件传输系统
💻 JAVA
字号:
package send;import java.io.BufferedOutputStream;import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.FileOutputStream;import interfaces.MainInter; public class ClientTest {    private ClientSocket cs = null;    private String ip = "192.168.1.10";// 设置成服务器IP    private int port = 8821;    private String sendMessage = "Windwos";       public String savePath;//保存路径    public ClientTest() {        try {            if (createConnection()) {                sendMessage();                getMessage();                MainInter.jlabel1.setText("");//消息清空                MainInter.jlabel2.setText("");//消息清空                MainInter.jlabel3.setText("");//消息清空            }        } catch (Exception ex) {            ex.printStackTrace();        }    }    private boolean createConnection() {        cs = new ClientSocket(ip, port);        try {            cs.CreateConnection();            //System.out.print("连接服务器成功!" + "\n");            MainInter.jlabel1.setText(ip+"连接成功!");            return true;        } catch (Exception e) {           // System.out.print("连接服务器失败!" + "\n");           MainInter.jlabel3.setText("没有客户端连接");            return false;        }    }    private void sendMessage() {        if (cs == null)            return;        try {            cs.sendMessage(sendMessage);        } catch (Exception e) {           // System.out.print("发送消息失败!" + "\n");            MainInter.jlabel3.setText("发送消息失败!");        }    }    private void getMessage() {    	         if (cs == null)            return;        DataInputStream inputStream = null;        try {            inputStream = cs.getMessageStream();        } catch (Exception e) {            //System.out.print("接收消息缓存错误\n");            MainInter.jlabel3.setText("接收消息缓存错误!");            return;        }        try {            int bufferSize = 8192;            byte[] buf = new byte[bufferSize];            int passedlen = 0;            long len=0;            savePath="G:\\";            savePath += inputStream.readUTF();            DataOutputStream fileOut = new DataOutputStream(new BufferedOutputStream(new BufferedOutputStream(new FileOutputStream(savePath))));            len = inputStream.readLong();                       // System.out.println("文件的长度为:" + len + "\n");           //System.out.println("开始接收文件!" + "\n");           // MainInter.jlabel1.setText("");            MainInter.jlabel1.setText("文件的长度为:" + len +"  KB");            MainInter.jlabel2.setText("开始接收文件!");            while (true) {                int read = 0;                if (inputStream != null) {                    read = inputStream.read(buf);                }                passedlen += read;                if (read == -1) {                    break;                }                //下面进度条本为图形界面的prograssBar做的,这里如果是打文件,可能会重复打印出一些相同的百分比                //System.out.println("文件接收了" +  (passedlen * 100/ len) + "%\n");                MainInter.jlabel2.setText("文件接收了" +  (passedlen * 100/ len) + "%" );                fileOut.write(buf, 0, read);            }           //System.out.println("接收完成,文件存为" + savePath + "\n");           MainInter.jlabel2.setText("接收完成,文件存为" + savePath );            fileOut.close();        } catch (Exception e) {           //System.out.println("接收消息错误" + "\n");           MainInter.jlabel3.setText("接收消息错误");            return;        }    }   }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -