• 【java】文件复制的简单实现


     1 package 文件操作;
     2 
     3 import java.io.File;
     4 import java.io.FileInputStream;
     5 import java.io.FileOutputStream;
     6 import java.io.IOException;
     7 import java.io.InputStream;
     8 import java.io.OutputStream;
     9 
    10 public class TestCopy {
    11     public static void main(String[] args) throws IOException {
    12         copy("D:\com\test.txt","C:\com\dest.txt");
    13     }
    14     public static void copy(String source,String dest) throws IOException{
    15         File fileS=new File(source);
    16         File fileD=new File(dest);
    17         if(fileS.exists()){
    18             InputStream in=new FileInputStream(fileS);
    19             int len=(int)fileS.length();
    20             byte[] b=new byte[len];
    21             in.read(b);//一次性读入
    22             in.close();            
    23             
    24             if(!(fileD.exists())){                
    25                 fileD.getParentFile().mkdirs();
    26                 fileD.createNewFile();                
    27             }
    28             OutputStream out=new FileOutputStream(fileD);
    29             out.write(b);//一次性写出
    30             out.close();
    31         }else{
    32             System.out.println(source+"文件不存在!");
    33         }    
    34     }
    35 }
    一次性读入和写出
     1 package 文件操作;
     2 
     3 import java.io.File;
     4 import java.io.FileInputStream;
     5 import java.io.FileOutputStream;
     6 import java.io.IOException;
     7 import java.io.InputStream;
     8 import java.io.OutputStream;
     9 
    10 public class TestCopy {
    11     public static void main(String[] args) throws IOException {
    12         copy(args[0],args[1]);
    13     }
    14     public static void copy(String source,String dest) throws IOException{
    15         File fileS=new File(source);
    16         File fileD=new File(dest);
    17         if(fileS.exists()){
    18             InputStream in=new FileInputStream(fileS);
    19             if(!(fileD.exists())){                
    20                 fileD.getParentFile().mkdirs();
    21 //                fileD.createNewFile();//此语句可省,会自动创建        
    22             }
    23             OutputStream out=new FileOutputStream(fileD);
    24             int b=0;
    25             while((b=in.read())!=-1)
    26                 out.write(b);//一次读入写出一个字节,此方式太慢!
    27             in.close();
    28             out.close();
    29         }else{
    30             System.out.println(source+"文件不存在!");
    31         }    
    32     }
    33 }
    一次读入写出一个字节
     1 package 文件操作;
     2 
     3 import java.io.File;
     4 import java.io.FileInputStream;
     5 import java.io.FileOutputStream;
     6 import java.io.IOException;
     7 import java.io.InputStream;
     8 import java.io.OutputStream;
     9 
    10 public class TestCopy {
    11     public static void main(String[] args) throws IOException {
    12         if(args.length!=2){
    13             System.out.println("源文件或目标文件个数不对,请确认!");
    14             System.exit(1);
    15         }        
    16         File sourceFile=new File(args[0]);
    17         if(sourceFile.exists()){
    18             File destFile=new File(args[1]);
    19             if(!destFile.getParentFile().exists())//只需要判断目录是否存在,因为目录不存在不会自动创建,文件不存在会自动创建
    20                 destFile.getParentFile().mkdirs();
    21             InputStream in=new FileInputStream(sourceFile);
    22             OutputStream out=new FileOutputStream(destFile,true);
    23             byte[] bytes=new byte[10240];
    24             int len=0;
    25             while((len=in.read(bytes))!=-1)
    26                 out.write(bytes,0,len);
    27             in.close();
    28             out.close();
    29         }else{
    30             System.out.println("源文件不存在!");
    31         }
    32     }
    33 }
    改善版
  • 相关阅读:
    EasyNVR视频平台无法输出RTSP流地址排查步骤
    EasyNVR平台实现播流地址超时无法播放功能过程分享
    EasyNVR视频平台集成出现播放一段时间后自动断开的情况排查及优化
    EasyNVR-ARM版云终端频繁死机重启原因分析
    EasyNVR用户登录修改为IP+用户名限制的修改过程分享
    EasyNVR视频平台设备通道页面显示错误的调整方法
    【解决方案】视频智能监控系统为酒店智能化建设提供一体化融合解决方案
    1051 Pop Sequence (25 分)
    1089 Insert or Merge (25 分)
    1085 Perfect Sequence (25 分)
  • 原文地址:https://www.cnblogs.com/xiongjiawei/p/6684203.html
Copyright © 2020-2023  润新知