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


相关推荐

  • Esp8266 mqtt 步进电机远程控制窗帘

    Esp8266 mqtt 步进电机远程控制窗帘使用28BYJ-48步进电机esp8266-12f(或nodemcu)mqtt基于arduinoIDE开发实现通过mqtt发送指令给wifi模块进而控制电机,电机拖动窗帘打开或闭合效果演示地址:链接搭建模型如何制作电动窗帘,牛人给你解释它的原理参考这个视频搭建窗帘模型模型搭建很重要就算电机能够稳定控制但是模型搭建的不好窗帘的打开和关闭都会受到影响电机要粘牢固…

    2022年6月23日
    43
  • Python处理CSV文件(一)

    Python处理CSV文件(一)CSV文件CSV(comma-separatedvalue,逗号分隔值)文件格式是一种非常简单的数据存储与分享方式。CSV文件将数据表格存储为纯文本,表格(或电子表格)中的每个单元格都是一个数值或字符串。与Excel文件相比,CSV文件的一个主要优点是有很多程序可以存储、转换和处理纯文本文件;相比之下,能够处理Excel文件的程序却不多。所有电子表格程序、文字处理程序或简单的文本编辑器都可以处理纯文本文件,但不是所有的程序都能处理Excel文件。尽管Excel是一个功能非常强大的工

    2022年7月20日
    20
  • 静态方法中可以访问非静态成员变量_多线程局部变量会不会互相影响

    静态方法中可以访问非静态成员变量_多线程局部变量会不会互相影响静态内部类访问包含它的外部类的非静态成员变量时,可以通过new外部类().成员的方式访问,这是因为静态的只能访问静态的,因为他们在对象没创建前就存在了。如果想访问非静态的则必须初始化该对象,因为只有初始化后对象在内存才存在(静态的除外)…

    2022年8月31日
    8
  • java list转arraylist_进制数之间的转换方法

    java list转arraylist_进制数之间的转换方法一.Array转为List1.实现方法:java中数组转list使用Arrays.asList(T…a)方法。publicclassArray2List{publicstaticvoidmain(String[]args){List<String>listA=Arrays.asList(“dog”,”cat”,”cow”)…

    2022年8月23日
    10
  • 如何关闭ESLint,一次成功

    如何关闭ESLint,一次成功ESLint可以用来识别ECMAScript,并且按照规则给出报告的代码检测工具,使用它可以避免低级错误和统一代码的风格。但是有时候新手会被ESLint的报错阻止程序的运行,这时候我们就想关闭这个ESLint了。vue项目中关闭ESLint方法:找到build文件夹—>webpack.base.conf.js—->module然后重启服务,npmrundev就可以…

    2022年5月5日
    246
  • Windows7 64位系统搭建Cocos2d-x 2.2.1最新版以及Android交叉编译环境(具体教程)

    Windows7 64位系统搭建Cocos2d-x 2.2.1最新版以及Android交叉编译环境(具体教程)

    2021年11月30日
    41

发表回复

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

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