zoukankan      html  css  js  c++  java
  • 设计一程序(Copy.java),可以实现文件的复制操作

    设计一程序(Copy.java),可以实现文件的复制操作

     

    要求:模仿DOS的copy命令,输入两路径名则实现文件拷贝功能。若输入以下命令Java copy f:\\1.txt f:\\2.txt 则完成把f:\\1.txt的内容复制到f:\\2.txt中。

    提示:可以使用File、FileInputStream、FileOutputStream实现

    package com.cmm.io4;
    
    import java.io.*;
    
    public class Copy {
    
        /**
         * @param arg
         * @Peter Cao
         */
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            String filePath1 ="";
            String filePath2 = "";
            File file1 = null;
            File file2 = null;
            byte[] bt = new byte[1024];
            
            if (args.length == 2)
            {
                filePath1 = args[0];
                filePath2 = args[1];
                file1 = new File(filePath1);
                file2 = new File(filePath2);
                
                if (file1.exists() && file1.isFile())
                {
                    try
                    {
                        // FileInputStream -- BufferedInputStream
                        FileInputStream fins = new FileInputStream(file1);
                        BufferedInputStream bins = new BufferedInputStream(fins);
                        // BufferedInputStream bins = new BufferedInputStream(new FileInputStream(file1));                    
                        
                        // FileOutputStream -- BufferedOutputStream
                        FileOutputStream fouts = new FileOutputStream(file2);
                        BufferedOutputStream bouts = new BufferedOutputStream(fouts);
                        
                        if (!file2.exists())
                        {
                            file2.createNewFile(); // 若文件不存在,就创建文件
                        }
                        
    
                        while (bins.read(bt) > 0)  // or bins.read(bt) != -1
                        {
                            bouts.write(bt);
                            bouts.flush();
                            bt = new byte[1024]; // refresh byte[]
                        }
                        
                        bouts.close();
                        fouts.close();
                        bins.close();
                        fins.close();
                    }
                    catch (Exception e)
                    {
                        e.printStackTrace();
                    }
                }
            }
        }
    
    }
  • 相关阅读:
    计算两个日期相差的天数
    获取当前星期几
    window下重置mysql用户密码
    window下安装mysql
    oracle用户密码过期如何处理?
    awk
    RunLoop
    通知中心
    KVO
    多线程
  • 原文地址:https://www.cnblogs.com/bluestorm/p/2683973.html
Copyright © 2011-2022 走看看