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)
上一篇 2021年12月7日 下午4:00
下一篇 2021年12月7日 下午4:00


相关推荐

  • 怎样规划你毕业以后的人生

    怎样规划你毕业以后的人生怎样规划你的毕业后的人生我今年39岁了,25岁研究生毕业,工作14年,回头看看,应该说走了不少的弯路,有一些经验和教训。现在开一个小公司,赚的钱刚够养家糊口的。看看这些刚毕业的学生,对前景也很迷茫,想抛砖引玉,谈谈自己的看法,局限于理工科的学生,我对文科的不懂,身边的朋友也没有这一类型的。91年研究生毕业,那时出路就是1种:留在北京的国营单位,搞一个北京户口,这是最好的选择。到后来的2~3

    2022年6月11日
    24
  • 手把手教你基于vllm大模型推理框架部署Qwen3-MoE

    手把手教你基于vllm大模型推理框架部署Qwen3-MoE

    2026年3月13日
    3
  • 02-Epicor二次开发常用代码

    02-Epicor二次开发常用代码二次开发,俗称客制。是程序员根据需求,进入开发模式对Epicor进行代码修改。1、获取到的完整的SQL,可以将SQL语句弹出来2、每个公司的代码是一样的,不一样请清理系统缓存,并退出系统重新进入3、隐藏一列4、关于界面居中问题5、测试跟正式的水晶报表文件都在192.168.100.250的EpicorData\CustomReports文件夹中6、关于报表位置不够问题7、将DataView的数据转化为xml的文件,用于更新水晶报表8、vb.net中换行…

    2022年6月21日
    61
  • xp优化集锦

    xp优化集锦转自 url http bbs 360safe com viewthread php tid 1470 amp extra page 3D2 url 一 系统优化设置 1 删除 Windows 强加的附件 1 用记事本 NOTEPAD 修改 winntinfsyso inf 用查找 替换功能 在查找框中输入 hide 一个英文逗号紧跟 hide 将 替换为 框设为空 并选全部替换 这样

    2026年3月26日
    1
  • JSONObject中Java对象转换成Json格式的两种方式

    JSONObject中Java对象转换成Json格式的两种方式1、alibaba的JSONObject对象调用toJSONString方法直接转换pom.xml依赖:<dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.41</…

    2022年6月1日
    44
  • 炒股人必看:用AI看透A股,OpenClaw你需要装哪些技能?

    炒股人必看:用AI看透A股,OpenClaw你需要装哪些技能?

    2026年3月16日
    3

发表回复

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

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