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实现文件传输

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

发表回复

您的电子邮箱地址不会被公开。

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