A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 林康春 黑马帝   /  2012-7-19 23:55  /  1529 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

/*
   思考:如何将一个目录中的后缀.java文件拷贝到另一个目录中?
   思路:
        1 查出源目录中后缀名为.java的文件的文件名
  2 检查是否存在目标目录的
  3 用字节流遍历拷贝
*/
import java.io.*;
class  CopyFilePart
{
public static void main(String[] args)
{
       String s1 = "E:\\classover\\day1";
    String s2 = "F:\\360data\\重要数据\\桌面\\1234545465465";
    //   1 查出源目录中后缀名为.java的文件的文件名
    File f = new File(s1);
       File[] fs = f.listFiles( new FileFilter(){
    public boolean accept(File pathname)
    {
     return pathname.getName().endsWith(".java");
    }
    } );
  
    // 2 检查是否存在目标目录的
    File f1 = new File(s2);
    if ( ! f1.exists() )
    {
     f1.mkdir();
    }
    System.out.println( f1 );
       // 3 用字节流遍历拷贝
   BufferedOutputStream   out = null;
      BufferedInputStream  in  = null;
        
   try
   {  
   
    for (int i=0;i<fs.length ;i++ )
    {
    out = new BufferedOutputStream( new FileOutputStream(fs) );
          in  = new BufferedInputStream ( new FileInputStream(new File(f1,fs.getName())) );
    byte [] by = new  byte [1024];
    int a = 0;
    while ( (a=in.read(by))!=-1 )
    {
     out.write(by,0,a);
    }  
    }
   }
  /*
  //用字符流实现拷贝
  BufferedReader in = null;
  BufferedWriter out = null;
   try
  for ( int i = 0; i < fs.length ; i++ )
  {
             in = new BufferedReader( new FileReader( fs ) );
    out = new BufferedWriter( new FileWriter( new File( f1, fs.getName() ) ) );
             String str = null;
    while ( (str = in.readLine()) != null )
    {
     out.write( str );
                 out.newLine();
    }
  }
   }
   */
   catch (Exception e)
   {
  System.out.println( e.toString() );
   }
      finally
   {
  try
  {
   if (in!=null)
   {
    in.close();
   }
   
  }
  catch (Exception e)
  {
   in = null;
  }
  try
  {
   if (out!=null)
   {
    out.close();
   }
   
  }
  catch (Exception e)
  {
   out=null;
  }
   }
}
}
/*
用字节流拷贝的时候,拷贝不了
运行错误:java.io.FileNotFoundException: F:\360data\重要数据\桌面\1234545465465\dayin.java
(系统找不到指定的文件。)
不明白什么意思
*/

1 个回复

倒序浏览
程序应该没问题
你确定对 目标目录有操作权限吗?

F:\360data\重要数据\桌面\1234545465465\dayin.java
像是360 的文件夹………换个试试吧
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马