今天问了一个察看一个目录下文件的问题,在大家的帮助下已经解决了。结帖散分了。
再问一个简单问题:一个文件夹下面有几个文件
file1.txt
file2.txt
file3.txt 
file4.txt

如何用java程序把这些文件移动到另外一个目录?
谢谢!

解决方案 »

  1.   

    IO操作 读取文件file1.txt(用字节流或字符流一段一段的读取,写个缓冲) 
    然后输出file1.txt到另外的目录(如果是复制就保留原文件,剪切则删除) 
    再就是循环直到文件夹中没有文件(用哨兵来控制这个循环,以免中途取消的情况)
      

  2.   

    file.rename()
    举个例子,将c:/a/a.txt移动到c:/b中
    import java.io.File;public class FileMove {
        
        public static void main(String [] arg0){
            File fileOne = new File("c:/a/a.txt");
            File fileTwo = new File("c:/a/b.txt");
            fileOne.renameTo(fileTwo);
        }
    }
      

  3.   

    renamepublic static void main(String [] arg0){ 
            //create dir b
            File fileOne = new File("c:/a/a.txt"); 
            File fileTwo = new File("c:/b/a.txt"); 
            fileOne.renameTo(fileTwo); 
        } 
      

  4.   

    看我这个类可以能否符合你的要求:
    package test0204;import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;public class FileUtil {
    /*
     * 复制文件夹
     */
    public static void removeDir(File dir,File dir2) throws Exception{
    if(dir.isDirectory())
    {
    File innerDir = new File(dir2.getPath()+File.separator+dir.getName());
    innerDir.mkdirs();
    File[] fileArray = dir.listFiles();
    for(int i=0;i<fileArray.length;i++){
       if(fileArray[i].isDirectory()){ 
    removeDir(fileArray[i],innerDir);
       }
       else
       copyFile(fileArray[i],new File(innerDir.getPath()+File.separator+fileArray[i].getName()));
    }

    }

    }

        public static void copyFile(File file,File file2) throws Exception{
         FileInputStream fis = new FileInputStream(file);
         FileOutputStream fos = new FileOutputStream(file2);
         byte[] b = new byte[1024];
         int len;
         while((len=fis.read(b, 0, b.length))!=-1){
         fos.write(b, 0, len);
         }
         fos.close();
         fis.close();
        }
        
        public static void main(String[] args) throws Exception {
    removeDir(new File("D:/javaFile/fdsaf"),new File("D:/javaFile/java"));
    System.out.println("ok");
        }
    }
      

  5.   


    i will try it ,thanks
      

  6.   

    package test0204; import java.io.File; 
    import java.io.FileInputStream; 
    import java.io.FileNotFoundException; 
    import java.io.FileOutputStream; public class FileUtil { 
    /* 
    * 复制文件夹 
    */ 
    public static void removeDir(File dir,File dir2) throws Exception{ 
    if(dir.isDirectory()) 

    File innerDir = new File(dir2.getPath()+File.separator+dir.getName()); 
    innerDir.mkdirs(); 
    File[] fileArray = dir.listFiles(); 
    for(int i=0;i <fileArray.length;i++){ 
      if(fileArray[i].isDirectory()){ 
    removeDir(fileArray[i],innerDir); 
      } 
      else 
      copyFile(fileArray[i],new File(innerDir.getPath()+File.separator+fileArray[i].getName())); 
    } } }     public static void copyFile(File file,File file2) throws Exception{ 
        FileInputStream fis = new FileInputStream(file); 
        FileOutputStream fos = new FileOutputStream(file2); 
        byte[] b = new byte[1024]; 
        int len; 
        while((len=fis.read(b, 0, b.length))!=-1){ 
        fos.write(b, 0, len); 
        } 
        fos.close(); 
        fis.close(); 
        } 
        
        public static void main(String[] args) throws Exception { 
    removeDir(new File("D:/javaFile/fdsaf"),new File("D:/javaFile/java")); 
    System.out.println("ok"); 
        } 

    嘿嘿  我也看这个
      

  7.   

    public static void main(String [] arg0){ 
            //create dir b 
            File fileOne = new File("c:/a/a.txt"); 
            File fileTwo = new File("c:/b/a.txt"); 
            fileOne.renameTo(fileTwo); 
        } 
    当然可以