java实现文件传输

java实现文件传输

大家好,又见面了,我是全栈君,祝每个程序员都可以多学几门语言。

在windows下装了个linux虚拟机,两者之间传输文件挺麻烦的.写了个简单的文件传输程序,来方便自己数据传送.

server 端:

 

java实现文件传输
import
 java.io.BufferedReader;
java实现文件传输

import
 java.io.BufferedWriter;
java实现文件传输

import
 java.io.File;
java实现文件传输

import
 java.io.FileOutputStream;
java实现文件传输

import
 java.io.InputStream;
java实现文件传输

import
 java.io.InputStreamReader;
java实现文件传输

import
 java.io.OutputStreamWriter;
java实现文件传输

import
 java.io.PrintWriter;
java实现文件传输

import
 java.net.ServerSocket;
java实现文件传输

import
 java.net.Socket;
java实现文件传输
java实现文件传输java实现文件传输

class
 CPThread 
extends
 Thread

{
java实现文件传输    Socket socket 
= null;
java实现文件传输java实现文件传输    
public CPThread(Socket socket){
java实现文件传输        
this.socket = socket;
java实现文件传输    }

java实现文件传输java实现文件传输    
public void run(){
java实现文件传输java实现文件传输        
try{
java实现文件传输            InputStream in 
= 
java实现文件传输                      socket.getInputStream();
java实现文件传输            PrintWriter out 
= 
java实现文件传输                  
new PrintWriter(
java实现文件传输                    
new BufferedWriter(
java实现文件传输                      
new OutputStreamWriter(
java实现文件传输                        socket.getOutputStream())),
true);
java实现文件传输            
java实现文件传输            
while(true)
java实现文件传输java实现文件传输            
{
java实现文件传输                
//第一个參数为命令
java实现文件传输
                byte cmd[] = new byte[128];
java实现文件传输                
int b = 0;
java实现文件传输java实现文件传输                
while(b<cmd.length){
java实现文件传输                    b 
+= in.read(cmd, b, cmd.lengthb);
java实现文件传输                }

java实现文件传输                
int ends = 0;
java实现文件传输java实现文件传输                
for(int i=0;i<cmd.length;i++){
java实现文件传输java实现文件传输                    
if(cmd[i]==-0){
java实现文件传输                        ends 
= i;
java实现文件传输                        
break;
java实现文件传输                    }

java实现文件传输                }

java实现文件传输                String cmds 
= new String(cmd,0,ends);
java实现文件传输java实现文件传输                
if(exit.equals(cmds)){
java实现文件传输                    System.exit(
0);
java实现文件传输                }

java实现文件传输java实现文件传输                
else if(cp.equals(cmds)){
java实现文件传输                    
byte[] filename = new byte[256];
java实现文件传输                    b 
= 0;
java实现文件传输java实现文件传输                    
while(b<filename.length){
java实现文件传输                        b 
+= in.read(filename, b, filename.lengthb);
java实现文件传输                    }

java实现文件传输                    ends 
= 0;
java实现文件传输java实现文件传输                    
for(int i=0;i<filename.length;i++){
java实现文件传输java实现文件传输                        
if(filename[i]==-0){
java实现文件传输                            ends 
= i;
java实现文件传输                            
break;
java实现文件传输                        }

java实现文件传输                    }

java实现文件传输                    String filenames 
= new String(filename,0,ends);
java实现文件传输                    File fileout 
= new File(filenames);
java实现文件传输java实现文件传输                    
if(fileout.isFile()){
java实现文件传输                        
throw new Exception(file exists+fileout.getAbsolutePath());
java实现文件传输                    }

java实现文件传输                    FileOutputStream fos 
= new FileOutputStream(fileout);
java实现文件传输                    
java实现文件传输                    
byte[] filesize = new byte[64];
java实现文件传输                    b 
= 0;
java实现文件传输java实现文件传输                    
while(b<filesize.length){
java实现文件传输                        b 
+= in.read(filesize, b, filesize.lengthb);
java实现文件传输                    }

java实现文件传输                    
java实现文件传输                    ends 
= 0;
java实现文件传输java实现文件传输                    
for(int i=0;i<filesize.length;i++){
java实现文件传输java实现文件传输                        
if(filesize[i]==-0){
java实现文件传输                            ends 
= i;
java实现文件传输                            
break;
java实现文件传输                        }

java实现文件传输                    }

java实现文件传输                    String filesizes 
= new String(filesize,0,ends);
java实现文件传输                    
java实现文件传输                    System.out.println(
filesize:+filesizes);
java实现文件传输                    
int ta = Integer.parseInt(filesizes);
java实现文件传输                    
byte[] buf = new byte[1024*10];
java实现文件传输                    
//InputStream ins = socket.getInputStream();
java实现文件传输java实现文件传输
                    while(true){
java实现文件传输java实现文件传输                        
if(ta==0){
java实现文件传输                            
break;
java实现文件传输                        }

java实现文件传输                        
int len = ta;
java实现文件传输java实现文件传输                        
if(len>buf.length){
java实现文件传输                            len 
= buf.length;
java实现文件传输                        }

java实现文件传输                        
int rlen = in.read(buf, 0, len);
java实现文件传输                        
java实现文件传输                        
//int rlen = ins.read(buf, 0, len);
java实现文件传输
                        ta -= rlen;
java实现文件传输java实现文件传输                        
if(rlen>0){
java实现文件传输                            fos.write(buf,
0,rlen);
java实现文件传输                            fos.flush();
java实现文件传输                        }

java实现文件传输java实现文件传输                        
else{
java实现文件传输                            
break;
java实现文件传输                        }

java实现文件传输                    }

java实现文件传输                    out.println(
cp finish!);
java实现文件传输                    fos.close();
java实现文件传输                    
break;
java实现文件传输                }

java实现文件传输java实现文件传输                
else{
java实现文件传输                    System.out.println(
err command!);
java实现文件传输                    out.println(
err command!);
java实现文件传输                    
break;
java实现文件传输                }

java实现文件传输            }

java实现文件传输            socket.close();
java实现文件传输java实现文件传输        }
catch(Exception e){
java实现文件传输            e.printStackTrace();
java实现文件传输            
java实现文件传输        }

java实现文件传输    }

java实现文件传输}


java实现文件传输java实现文件传输

public
 
class
 JCPServer 

{
java实现文件传输
java实现文件传输java实现文件传输    
/**
java实现文件传输     * 
@param args
java实现文件传输     
*/

java实现文件传输java实现文件传输    
public static void main(String[] args) throws Exception {
java实现文件传输        
// TODO Auto-generated method stub
java实现文件传输
        int num = args.length;
java实现文件传输java实现文件传输        
if(num<=0){
java实现文件传输            System.out.println(
please input server port!);
java实现文件传输            System.exit(
0);
java实现文件传输        }

java实现文件传输        
int port = Integer.parseInt(args[0]);
java实现文件传输        System.out.println(
you input port:+port);
java实现文件传输        
//绑定接受数据端口
java实现文件传输
        ServerSocket s = new ServerSocket(port);
java实现文件传输java实现文件传输        
while(true){
java实现文件传输            Socket socket 
= s.accept();
java实现文件传输            
new CPThread(socket).start();
java实现文件传输        }

java实现文件传输    }

java实现文件传输
java实现文件传输}


java实现文件传输

 

client 端

 

java实现文件传输
import
 java.io.BufferedWriter;
java实现文件传输

import
 java.io.File;
java实现文件传输

import
 java.io.FileInputStream;
java实现文件传输

import
 java.io.OutputStream;
java实现文件传输

import
 java.io.OutputStreamWriter;
java实现文件传输

import
 java.io.PrintWriter;
java实现文件传输

import
 java.net.InetAddress;
java实现文件传输

import
 java.net.Socket;
java实现文件传输
java实现文件传输
java实现文件传输java实现文件传输

public
 
class
 JCPClient 

{
java实现文件传输
java实现文件传输java实现文件传输    
/**
java实现文件传输     * 
@param args
java实现文件传输     
*/

java实现文件传输java实现文件传输    
public static void main(String[] args)throws Exception {
java实现文件传输        
// TODO Auto-generated method stub
java实现文件传输
        int num = args.length;
java实现文件传输java实现文件传输        
if(num<=3){
java实现文件传输            System.out.println(
please input server ip port filefrom fileto!);
java实现文件传输            System.exit(
0);
java实现文件传输        }

java实现文件传输        System.out.println(
host:+args[0]);
java实现文件传输        System.out.println(
port:+args[1]);
java实现文件传输        System.out.println(
filefrom:+args[2]);
java实现文件传输        System.out.println(
fileto:+args[3]);
java实现文件传输        InetAddress addr 
= InetAddress.getByName(args[0]);
java实现文件传输        Socket socket 
= 
java实现文件传输              
new Socket(addr, Integer.parseInt(args[1]));
java实现文件传输        OutputStream out 
= socket.getOutputStream();
java实现文件传输        
byte[] cmd = new byte[128];
java实现文件传输        
byte[] tcmd = cp.getBytes();
java实现文件传输java实现文件传输        
for(int i=0;i<tcmd.length;i++){
java实现文件传输            cmd[i] 
= tcmd[i];
java实现文件传输        }

java实现文件传输        cmd[tcmd.length] 
= -0;
java实现文件传输        out.write(cmd,
0,cmd.length);
java实现文件传输        
//文件名称
java实现文件传输
        byte[] file = new byte[256];
java实现文件传输        
byte[] tfile = args[3].getBytes();
java实现文件传输java实现文件传输        
for(int i=0;i<tfile.length;i++){
java实现文件传输            file[i] 
= tfile[i];
java实现文件传输        }

java实现文件传输        file[tfile.length] 
= -0;
java实现文件传输        out.write(file,
0,file.length);
java实现文件传输        
java实现文件传输        
//大小
java实现文件传输
        File filein = new File(args[2]);
java实现文件传输        
byte[] size = new byte[64];
java实现文件传输        
byte[] tsize = (“”+filein.length()).getBytes();
java实现文件传输        
java实现文件传输java实现文件传输        
for(int i=0;i<tsize.length;i++){
java实现文件传输            size[i] 
= tsize[i];
java实现文件传输        }

java实现文件传输        size[tsize.length] 
= -0;
java实现文件传输        out.write(size,
0,size.length);
java实现文件传输        
java实现文件传输        FileInputStream fis 
= null;
java实现文件传输        
byte[] buf = new byte[1024*10];
java实现文件传输        
//char[] bufC = new char[1024*10];
java实现文件传输
        fis = new FileInputStream(filein);
java实现文件传输        
int readsize = 0;
java实现文件传输        
//OutputStream ops = socket.getOutputStream();
java实现文件传输java实现文件传输
        while((readsize = fis.read(buf, 0, buf.length))>0){
java实现文件传输            out.write(buf,
0,readsize);
java实现文件传输            out.flush();
java实现文件传输        }

java实现文件传输        socket.close();
java实现文件传输    }

java实现文件传输
java实现文件传输}


java实现文件传输

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/118337.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 焦点科技怎么老是招人_现在的白内障手术和过去有何不同?晶体该怎么选?(小刀视频)…

    焦点科技怎么老是招人_现在的白内障手术和过去有何不同?晶体该怎么选?(小刀视频)…■文|赵小刀我是赵小刀,我是一名眼科医生。很多人可能在10年前或者20年前就做过白内障手术了,可能在当时也花了几千块钱,不算小数目。那过去的白内障手术和现在白内障手术有什么不同?人工晶体的种类有哪些,又该怎么选呢?请看节目。请直接点击视频https://www.zhihu.com/video/1201468244097499136白内障手术真的进步了20年前的白内障手术,其实对医生来说非常简单——…

    2022年6月6日
    56
  • 偷窃转基因玉米种子引发中美打农业官司

    偷窃转基因玉米种子引发中美打农业官司

    2021年11月28日
    52
  • 电驴服务器图标显示叉叉,2012年6月最新电驴服务器列表及设置方法

    电驴服务器图标显示叉叉,2012年6月最新电驴服务器列表及设置方法最新的电驴服务器,使用电骡的朋友都很熟悉了,将下载文件解压到X:\eMule\config目录下(config目录位置需视实际情况定,请参考:http://emulefans.com/shared-usage/),重启eMule即可完成更新。由于网络环境不佳,需要不开迷惑协议才可以顺利连接某些大型ed2k服务器。(万不得已的情况下才需要,比如实在无法连接服务器)转自:http://www.qvo…

    2022年7月15日
    18
  • Java web实现video播放

    Java web实现video播放javaweb实现video播放1.前端的实现通过getQueryVariable获取url的参数(vid)functiongetQueryVariable(variable){varquery=window.location.search.substring(1);varvars=query.split(“&”);for(v…

    2022年7月7日
    64
  • windows下使用labelImg标注图像

    windows下使用labelImg标注图像工作中遇到一个更好用的标注软件,速度快,操作方便,分享一下:https://blog.csdn.net/python_pycharm/article/details/102685591用于深度网络训练的数据集做标注的方法和工具有好多,像Labelme、labelImg、yolo_mark、Vatic、Sloth等等,此处暂时只介绍其中的一种标注工具:labelImg。等到后期…

    2022年6月20日
    48
  • mac笔记本卡顿怎么办_电脑卡顿不流畅怎么办

    mac笔记本卡顿怎么办_电脑卡顿不流畅怎么办打开活动监视器,(启动台–其他–活动监测器),可以看到耗CPU,内存的具体应用都有哪些。如果能查到就往这方面去停止运行。一般都是图形的操作特别耗内存,可以关闭adboe的一些配置。我出现问题是安装了PS,他的adobe监听实时更新耗了系统70%内存。……

    2025年9月6日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号