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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • TS助手 v3.52 视频网站下载工具,网页视频下载神器

    TS助手 v3.52 视频网站下载工具,网页视频下载神器TS的全称则是TransportStream,即传输流,DVD节目中的MPEG2格式,是MPEG2-PS,MPEG2-TS格式的特点就是要求从视频流的任一片段开始都是可以独立解码的,m3u8是一个TS切片列表文件,它记录视频的每个切片的时长与顺序。现主流视频网站都采用这种模式。正因为如此,很多网友遇到这种TS传输流的视频,就有点束手无策了,今天给大家带来的这款TS助手可以轻松帮大家解决视频…

    2022年7月18日
    15
  • python fileinput_python模块fileinput

    python fileinput_python模块fileinput在python脚本语言中的fileinput模块可以对一个或多个文件的内容进行迭代,编历操作.常用的函数:fileinput.input()#读取文件的内容fileinput.filename()#文件的名称fileinput.lineno()#当前读取行的数量fileinput.filelineno()#读取行的行号fileinput.isfir…

    2022年5月4日
    34
  • 孟小峰:大数据管理与数据思维

    孟小峰:大数据管理与数据思维孟小峰:大数据管理与数据思维大数据的规模效应给数据存储、管理以及数据分析带来了极大的挑战,数据管理方式上的变革正在酝酿和发生。本文对大数据的基本概念进行剖析,归纳大数据时代所面临的新挑战,并对大数据的主要应用做简单对比。在此基础上,阐述大数据处理的基本框架,并就云计算技术对于大数据时代数据管理所产生的作用进阅读全文和小伙伴们一起来吐槽

    2022年6月7日
    47
  • k8s有哪些资源_k8s资源类型

    k8s有哪些资源_k8s资源类型k8sNamespacePodLabelDeploymentServiceNamespace概述Namespace是kubernetes系统中一种非常重要的资源,它的主要作用是用来实现多套系统的资源隔离或者多租户的资源隔离。默认情况下,kubernetes集群中的所有Pod都是可以相互访问的。但是在实际中,可能不想让两个Pod之间进行互相的访问,那么此时就可以将两个Pod划分到不同的Namespace下。kubernetes通过将集群内部的资源分配到不同的Namespace中,可以形成逻辑上的“组

    2022年8月9日
    6
  • 钽电容规格定义_钽电容规格与封装尺寸

    钽电容规格定义_钽电容规格与封装尺寸

    2025年5月24日
    1
  • PrCharm激活码【在线破解激活】[通俗易懂]

    PrCharm激活码【在线破解激活】,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月16日
    73

发表回复

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

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