文件copy

/**
     * 读取文件
     * @param srcPath 原文件路径
     * @param purposePath 目的文件路径
     * @param srcLength   原文件路径长度  
*/
    public static void readFile(String srcPath, String purposePath,
            int srcLength)
    {
        File f = new File(srcPath);
        FileInputStream in = null;
        FileOutputStream out = null;
        if (f.isFile())
        {
            try
            {
                int temp = -1;
                in = new FileInputStream(srcPath);
                File rr = new File(purposePath
                        + f.getPath().substring(srcLength));
                if (rr.createNewFile())
                {
                    out = new FileOutputStream(rr);
                    while ((temp = in.read()) != -1)
                    {
                        out.write(temp);
                       
                    }
                }
            }
            catch (Exception e)
            {
               
            }
            finally
            {
//关闭流的正确方法,不出findbug
                try
                {
                    if (out != null)
                    {
                        out.close();
                    }
                   
                }
                catch (IOException e1)
                {
                    e1.printStackTrace();
                }
                finally
                {
                   
                    try
                    {
                        if (in != null)
                        {
                            in.close();
                        }
                       
                    }
                    catch (IOException e)
                    {
                        e.printStackTrace();
                    }
                }
               
            }
        }
        else
        {
            boolean success;
            File rr = new File(purposePath + f.getPath().substring(srcLength));
            if (!rr.exists())
            {
                success = rr.mkdirs();
            }
            else
            {
                success = true;
            }
            if (success)
            {
                for (File s : f.listFiles())
                {
                    readFile(s.getPath(), purposePath, srcLength);
                }
            }
        }
    }

猜你喜欢

转载自swallowha.iteye.com/blog/1133754