精华内容
下载资源
问答
  • java 同时创建多个文件夹和文件

    千次阅读 2018-10-23 17:07:06
    public void demo1() { try { File dir = new File("d:\\abc\\bcd"); if (!dir.exists()) { dir.mkdirs(); } File file = new File(dir, "demo.txt"... file.crea...
    
    	public void demo1() {
    		try {
    			File dir = new File("d:\\abc\\bcd");
    			if (!dir.exists()) {
    				dir.mkdirs();
    			}
    			File file = new File(dir, "demo.txt");
    			if (!file.exists()) {
    				file.createNewFile();
    			}
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    	}
     
    	
    	public void demo2() {
    		File file = new File("c:\\1\\2\\3\\demo.txt");
    		File dir = file.getParentFile();
    		if (!dir.exists()) {
    			dir.mkdirs();
    		}
    		try {
    			file.createNewFile();
    		} catch (IOException e) {
    			e.printStackTrace();
    		}
    
            file.getAbsolutePath();//获取文件的绝对路径
    	}
    
    
        //读写文件
        FileInputStream fis = new FileInputStream("aaaa.txt");
        BufferedInputStream bufis = new BufferedInputStream(fis);
        
        FileOutputStream fos = new FileOutputStream("aaaa_copy.txt");
        BufferedOutputStream bufos = new BufferedOutputStream(fos);
        
        byte[] buf = new byte[1024];
        
        int by = 0;
        while((by = bufis.read(buf))!=-1){
            bufos.write(buf,0,by);
            bufos.flush();
        }
        
        fos.close();
        fis.close();
    

     

    展开全文
  • java指定路径下创建多个文件夹和文件 package IO; import java.io.*; import java.text.DecimalFormat; public class FolderDemo { public static void main(String[] args) throws IOException { FolderDemo ...

    java指定路径下创建多个文件夹和文件

    package IO;

    import java.io.*;
    import java.text.DecimalFormat;

    public class FolderDemo {
    public static void main(String[] args) throws IOException {
    FolderDemo folderDemo = new FolderDemo();
    folderDemo.deleteFolder(“E:\NewFolder”);
    folderDemo.newFolder();
    }
    public void newFolder() throws IOException {
    DecimalFormat df = new DecimalFormat(“0”);
    File file = new File(“E:\NewFolder”);
    boolean b = file.exists();
    if (b) {
    System.out.println(“文件夹已创建”);
    } else {
    file.mkdirs();
    }
    boolean button = true;
    while (button) {

            for (int i = 1; i <= 10; i++) {
                File f = new File("E:\\NewFolder\\" + "Folder--" + df.format(i));
                boolean isFile2 = f.mkdirs();
                if (isFile2) {
                    System.out.println("文件夹创建成功");
                } else {
                    System.out.println("文件夹创建失败");
                }
                String folderName = f.getName();
                for (int a = 1; a <= 10; a++) {
                    File folderFile = new File(file+ folderName + "\\" + "Folder-File--" + df.format(a));
                    boolean c = folderFile.createNewFile();
                    if (c) {
                        System.out.println("文件创建成功");
                    } else {
                        System.out.println("文件创建失败");
                    }
                    String filename = folderFile.getName();
                    FileOutputStream fileOutputStream = new FileOutputStream(file + folderName + "\\" + filename);
                    OutputStreamWriter osw = new OutputStreamWriter(fileOutputStream, "GBK");
                    BufferedWriter bufferedWriter = new BufferedWriter(osw);
                    for (int x = 1; x <= 10; x++) {
                        bufferedWriter.write(filename+"\n");
                    }
                    bufferedWriter.close();
    
                }
                if (i == 10) {
                    button = false;
                }
            }
        }
    }
    public static void deleteFolder(String folderPath) {
        File file = new File(folderPath);
        try {
            if (file.isDirectory()) {
                File[] subFiles = file.listFiles();
                if (subFiles != null && subFiles.length > 0) {
                    for (int i = 0; i < subFiles.length; i++) {
                        deleteFolder(subFiles[i].getPath());
                    }
                }
            }
            if (file.delete()) {
            } else {
                System.out.println("删除失败!");
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    

    }

    展开全文
  • Java创建多级文件夹

    千次阅读 2017-11-13 11:56:42
    Java创建多级文件夹Java的File类坑巨多,就...mkdir只能创建一个文件夹,而想创建多级文件夹需要用mkdirs,了个s. 来来,接下来看源码:public boolean mkdirs() { if (exists()) { return false; } if (mkdir()) {

    Java创建多级文件夹

    Java的File类坑巨多,就创建文件来说,多级创建和单级创建竟然不一样.
    直接上API
    java.io.File部分API
    mkdir只能创建一个文件夹,而想创建多级文件夹需要用mkdirs,多了个s.
    来来,接下来看源码:

    public boolean mkdirs() {
       if (exists()) {
          return false;
       }
       if (mkdir()) {
          return true;
       }
       File canonFile = null;
       try {
          canonFile = getCanonicalFile();
       } catch (IOException e) {
           return false;
       }
    
       File parent = canonFile.getParentFile();
       return (parent != null && (parent.mkdirs() || parent.exists()) && canonFile.mkdir());
     }

    看出来问题没?
    mkdirs调用的依然是mkdir,看源码mkdirs是支持单级文件夹创建的
    想不通mkdir用来干啥?能用mkdirs取代的一个方法.以后优先使用mkdirs

    展开全文
  • JAVA 创建文件及文件夹的复制移动

    千次阅读 2019-05-30 22:53:26
    import java.io.File; import java.io.IOException; //引入类 public class TextCreateFileAndDir { // 创建新文件和目录 public static boolean createFile(String filePath) { // 创建单个文件 ...
    package com.java.ch151;
    
    import java.io.File;
    import java.io.IOException; //引入类
    
    public class TextCreateFileAndDir { // 创建新文件和目录
         public static boolean createFile(String filePath) { // 创建单个文件
              File file = new File(filePath);
              if (file.exists()) { // 判断文件是否存在
                   System.out.println("目标文件已存在" + filePath);
                   return false;
              }
              if (filePath.endsWith(File.separator)) { // 判断文件是否为目录
                   System.out.println("目标文件不能为目录!");
                   return false;
              }
              // 判断目标文件所在的目录是否存在
              if (!file.getParentFile().exists()) { 
                   // 如果目标文件所在的文件夹不存在,则创建父文件夹
                   System.out.println("目标文件所在目录不存在,准备创建它!");
                   if (!file.getParentFile().mkdirs()) { // 判断创建目录是否成功
                        System.out.println("创建目标文件所在的目录失败!");
                        return false;
                   }
              }
              try {
                   if (file.createNewFile()) { // 创建目标文件
                        System.out.println("创建文件成功:" + filePath);
                        return true;
                   } else {
                        System.out.println("创建文件失败!");
                        return false;
                   }
              } catch (IOException e) { // 捕获异常
                   e.printStackTrace();
                   System.out.println("创建文件失败!" + e.getMessage());
                   return false;
              }
         }
    
         public static boolean createDir(String destDirName) {// 创建目录
              File dir = new File(destDirName);
              if (dir.exists()) { // 判断目录是否存在
                   System.out.println("创建目录失败,目标目录已存在!");
                   return false;
              }
              if (!destDirName.endsWith(File.separator)) { // 结尾是否以"/"结束
                   destDirName = destDirName + File.separator;
              }
              if (dir.mkdirs()) { // 创建目标目录
                   System.out.println("创建目录成功!" + destDirName);
                   return true;
              } else {
                   System.out.println("创建目录失败!");
                   return false;
              }
         }
    
         public static String createTempFile(String prefix, String suffix,
                   String dirName) { // 创建临时文件
              File tempFile = null;
              if (dirName == null) { // 目录如果为空
                   try {
                        // 在默认文件夹下创建临时文件
                        tempFile = File.createTempFile(prefix, suffix);
                        return tempFile.getCanonicalPath(); // 返回临时文件的路径
                   } catch (IOException e) { // 捕获异常
                        e.printStackTrace();
                        System.out.println("创建临时文件失败:" + e.getMessage());
                        return null;
                   }
              } else { // 指定目录存在
                   File dir = new File(dirName); // 创建目录
                   if (!dir.exists()) { // 如果目录不存在则创建目录
                        if (TextCreateFileAndDir.createDir(dirName)) {
                   System.out.println("创建临时文件失败,不能创建临时文件所在的目录!");
                             return null;
                        }
                   }
                   try {
                        // 在目录下创建临时文件
                        tempFile = File.createTempFile(prefix, suffix, dir);
                        return tempFile.getCanonicalPath(); // 返回临时文件的路径
                   } catch (IOException e) { // 捕获异常
                        e.printStackTrace();
                        System.out.println("创建临时文件失败!" + e.getMessage());
                        return null;
                   }
              }
         }
    
         public static void main(String[] args) {           // java程序的主入口处
              String dirName = "E:/createFile/";                // 创建目录
              TextCreateFileAndDir.createDir(dirName);      // 调用方法创建目录
              String fileName = dirName + "/file1.txt";      // 创建文件
              TextCreateFileAndDir.createFile(fileName);      // 调用方法创建文件
              String prefix = "temp";                          // 创建临时文件
              String surfix = ".txt";                          // 后缀
              for (int i = 0; i < 10; i++) {                     // 循环创建多个文件
                   System.out.println("创建临时文件: "           // 调用方法创建临时文件
                   + TextCreateFileAndDir.createTempFile(prefix, surfix,dirName));
              }
         }
    }
    
    

    以上程序,createFile方法创建一个新的文件。首先通过File的exists方法和isDirectory方法判断目标文件是否存在,对于文件存在,则返回false,新建文件失败。如果目标文件不存在,通过File的getParentFile方法获得目标文件的父目录,如果父目录不存在,调用File的mkdirs方法创建父目录(如果父目录的父目录也不存在,都会一起创建),此时能确定目标文件不存在,而且父目录已经存在,使用File的createNewFile方法便能成功地创建一个新的空文件了。

    文件和目录的复制与移动。包括单个文件的移动复制、复制目录到指定目录连同目录下的子目录一起复制、将目录以及目录下的文件和子目录全部复制。具体代码如下:

    import java.io.File; //引入类
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    
    //实现文件的简单处理,复制和移动文件、目录等
    public class TextCopyFileAndMove { 
         // 移动指定文件夹内的全部文件
         public static void fileMove(String from, String to) throws Exception {
              try {
                   File dir = new File(from);
                   File[] files = dir.listFiles();      // 将文件或文件夹放入文件集
                   if (files == null)                          // 判断文件集是否为空
                        return;
                   File moveDir = new File(to);           // 创建目标目录
                   if (!moveDir.exists()) {                // 判断目标目录是否存在
                        moveDir.mkdirs();                     // 不存在则创建
                   }
                   for (int i = 0; i < files.length; i++) {// 遍历文件集
                        // 如果是文件夹或目录,则递归调用fileMove方法,直到获得目录下的文件
                        if (files[i].isDirectory()) {
                             // 递归移动文件
                             fileMove(files[i].getPath(), to + "\\" + files[i].getName());
                             files[i].delete();                // 删除文件所在原目录
                        }
                        // 将文件目录放入移动后的目录
                        File moveFile = new File(moveDir.getPath() + "\\"
                                  + files[i].getName());
                        if (moveFile.exists()) {           // 目标文件夹下存在的话,删除
                             moveFile.delete();
                        }
                        files[i].renameTo(moveFile);     // 移动文件
                        System.out.println(files[i] + " 移动成功");
                   }
              } catch (Exception e) {
                   throw e;
              }
         }
         // 复制目录下的文件(不包括该目录)到指定目录,会连同子目录一起复制过去。
         public static void copyFileFromDir(String toPath, String fromPath) {
              File file = new File(fromPath);
              createFile(toPath, false);                // true:创建文件 false创建目录
              if (file.isDirectory()) {                     // 如果是目录
                   copyFileToDir(toPath, listFile(file));
              }
         }
         // 复制目录到指定目录,将目录以及目录下的文件和子目录全部复制到目标目录
         public static void copyDir(String toPath, String fromPath) {
              File targetFile = new File(toPath);      // 创建文件
              createFile(targetFile, false);                // 创建目录
              File file = new File(fromPath);           // 创建文件
              if (targetFile.isDirectory() && file.isDirectory()) { // 如果传入是目录
                   copyFileToDir(targetFile.getAbsolutePath() + "/" + file.getName(),
                             listFile(file));                // 复制文件到指定目录
              }
         }
         // 复制一组文件到指定目录。targetDir是目标目录,filePath是需要复制的文件路径
         public static void copyFileToDir(String toDir, String[] filePath) {
              if (toDir == null || "".equals(toDir)) { // 目录路径为空
                   System.out.println("参数错误,目标路径不能为空");
                   return;
              }
              File targetFile = new File(toDir);
              if (!targetFile.exists()) {                // 如果指定目录不存在
                   targetFile.mkdir();                     // 新建目录
              } else {
                   if (!targetFile.isDirectory()) {      // 如果不是目录
                        System.out.println("参数错误,目标路径指向的不是一个目录!");
                        return;
                   }
              }
              for (int i = 0; i < filePath.length; i++) { // 遍历需要复制的文件路径
                   File file = new File(filePath[i]);      // 创建文件
                   if (file.isDirectory()) {                // 判断是否是目录
                        // 递归调用方法获得目录下的文件
                        copyFileToDir(toDir + "/" + file.getName(), listFile(file));
                        System.out.println("复制文件 " + file);
                   } else {
                        copyFileToDir(toDir, file, ""); // 文件到指定目录
                   }
              }
         }
         // 复制文件到指定目录
         public static void copyFileToDir(String toDir, File file, String newName) {
              String newFile = "";
              if (newName != null && !"".equals(newName)) {
                   newFile = toDir + "/" + newName;
              } else {
                   newFile = toDir + "/" + file.getName();
              }
              File tFile = new File(newFile);
              copyFile(tFile, file);                          // 调用方法复制文件
         }
         public static void copyFile(File toFile, File fromFile) { // 复制文件
              if (toFile.exists()) {                          // 判断目标目录中文件是否存在
                   System.out.println("文件" + toFile.getAbsolutePath() + "已经存在,跳过该文件!");
                   return;
              } else {
                   createFile(toFile, true);                // 创建文件
              }
              System.out.println("复制文件" + fromFile.getAbsolutePath() + "到"
                        + toFile.getAbsolutePath());
              try {                                              // 创建文件输入流
                   InputStream is = new FileInputStream(fromFile);
                   FileOutputStream fos = new FileOutputStream(toFile);// 文件输出流
                   byte[] buffer = new byte[1024];      // 字节数组
                   while (is.read(buffer) != -1) {      // 将文件内容写到文件中
                        fos.write(buffer);
                   }
                   is.close();                               // 输入流关闭
                   fos.close();                               // 输出流关闭
              } catch (FileNotFoundException e) {      // 捕获文件不存在异常
                   e.printStackTrace();
              } catch (IOException e) {                     // 捕获异常
                   e.printStackTrace();
              }
         }
         public static String[] listFile(File dir) { // 获取文件绝对路径
              String absolutPath = dir.getAbsolutePath(); // 获取传入文件的路径
              String[] paths = dir.list();                // 文件名数组
              String[] files = new String[paths.length]; // 声明字符串数组,长为传入文件的个数
              for (int i = 0; i < paths.length; i++) { // 遍历显示文件绝对路径
                   files[i] = absolutPath + "/" + paths[i];
              }
              return files;
         }
         public static void createFile(String path, boolean isFile) {// 创建文件或目录
              createFile(new File(path), isFile);      // 调用方法创建新文件或目录
         }
         public static void createFile(File file, boolean isFile) { // 创建文件
              if (!file.exists()) {                          // 如果文件不存在
                   if (!file.getParentFile().exists()) { // 如果文件父目录不存在
                        createFile(file.getParentFile(), false);
                   } else {                                    // 存在文件父目录
                        if (isFile) {                          // 创建文件
                             try {
                                  file.createNewFile();      // 创建新文件
                             } catch (IOException e) {
                                  e.printStackTrace();
                             }
                        } else {
                             file.mkdir();                     // 创建目录
                        }
                   }
              }
         }
         public static void main(String[] args) {      // java程序主入口处
              String fromPath = "E:/createFile";           // 目录路径
              String toPath = "F:/createFile";           // 源路径
              System.out.println("1.移动文件:从路径 " + fromPath + " 移动到路径 " + toPath);
              try {
                   fileMove(fromPath, toPath);           // 调用方法实现文件的移动
              } catch (Exception e) {
                   System.out.println("移动文件出现问题" + e.getMessage());
              }
              System.out.println("2.复制目录 " + toPath + " 下的文件(不包括该目录)到指定目录" + fromPath
                        + " ,会连同子目录一起复制过去。");
              copyFileFromDir(fromPath, toPath);           // 调用方法实现目录复制
              System.out.println("3.复制目录 " + fromPath + "到指定目录 " + toPath
                        + " ,将目录以及目录下的文件和子目录全部复制到目标目录");
              // 调用方法实现目录以用目录下的文件和子目录全部复制
              copyDir(toPath, fromPath);
         }
    }
    

    文件和目录的复制与移动。包括单个文件的移动复制、复制目录到指定目录连同目录下的子目录一起复制、将目录以及目录下的文件和子目录全部复制。具体代码如下:

    package com.java.ch152;
    
    import java.io.File; //引入类
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    
    //实现文件的简单处理,复制和移动文件、目录等
    public class TextCopyFileAndMove { 
         // 移动指定文件夹内的全部文件
         public static void fileMove(String from, String to) throws Exception {
              try {
                   File dir = new File(from);
                   File[] files = dir.listFiles();      // 将文件或文件夹放入文件集
                   if (files == null)                          // 判断文件集是否为空
                        return;
                   File moveDir = new File(to);           // 创建目标目录
                   if (!moveDir.exists()) {                // 判断目标目录是否存在
                        moveDir.mkdirs();                     // 不存在则创建
                   }
                   for (int i = 0; i < files.length; i++) {// 遍历文件集
                        // 如果是文件夹或目录,则递归调用fileMove方法,直到获得目录下的文件
                        if (files[i].isDirectory()) {
                             // 递归移动文件
                             fileMove(files[i].getPath(), to + "\\" + files[i].getName());
                             files[i].delete();                // 删除文件所在原目录
                        }
                        // 将文件目录放入移动后的目录
                        File moveFile = new File(moveDir.getPath() + "\\"
                                  + files[i].getName());
                        if (moveFile.exists()) {           // 目标文件夹下存在的话,删除
                             moveFile.delete();
                        }
                        files[i].renameTo(moveFile);     // 移动文件
                        System.out.println(files[i] + " 移动成功");
                   }
              } catch (Exception e) {
                   throw e;
              }
         }
         // 复制目录下的文件(不包括该目录)到指定目录,会连同子目录一起复制过去。
         public static void copyFileFromDir(String toPath, String fromPath) {
              File file = new File(fromPath);
              createFile(toPath, false);                // true:创建文件 false创建目录
              if (file.isDirectory()) {                     // 如果是目录
                   copyFileToDir(toPath, listFile(file));
              }
         }
         // 复制目录到指定目录,将目录以及目录下的文件和子目录全部复制到目标目录
         public static void copyDir(String toPath, String fromPath) {
              File targetFile = new File(toPath);      // 创建文件
              createFile(targetFile, false);                // 创建目录
              File file = new File(fromPath);           // 创建文件
              if (targetFile.isDirectory() && file.isDirectory()) { // 如果传入是目录
                   copyFileToDir(targetFile.getAbsolutePath() + "/" + file.getName(),
                             listFile(file));                // 复制文件到指定目录
              }
         }
         // 复制一组文件到指定目录。targetDir是目标目录,filePath是需要复制的文件路径
         public static void copyFileToDir(String toDir, String[] filePath) {
              if (toDir == null || "".equals(toDir)) { // 目录路径为空
                   System.out.println("参数错误,目标路径不能为空");
                   return;
              }
              File targetFile = new File(toDir);
              if (!targetFile.exists()) {                // 如果指定目录不存在
                   targetFile.mkdir();                     // 新建目录
              } else {
                   if (!targetFile.isDirectory()) {      // 如果不是目录
                        System.out.println("参数错误,目标路径指向的不是一个目录!");
                        return;
                   }
              }
              for (int i = 0; i < filePath.length; i++) { // 遍历需要复制的文件路径
                   File file = new File(filePath[i]);      // 创建文件
                   if (file.isDirectory()) {                // 判断是否是目录
                        // 递归调用方法获得目录下的文件
                        copyFileToDir(toDir + "/" + file.getName(), listFile(file));
                        System.out.println("复制文件 " + file);
                   } else {
                        copyFileToDir(toDir, file, ""); // 文件到指定目录
                   }
              }
         }
         // 复制文件到指定目录
         public static void copyFileToDir(String toDir, File file, String newName) {
              String newFile = "";
              if (newName != null && !"".equals(newName)) {
                   newFile = toDir + "/" + newName;
              } else {
                   newFile = toDir + "/" + file.getName();
              }
              File tFile = new File(newFile);
              copyFile(tFile, file);                          // 调用方法复制文件
         }
         public static void copyFile(File toFile, File fromFile) { // 复制文件
              if (toFile.exists()) {                          // 判断目标目录中文件是否存在
                   System.out.println("文件" + toFile.getAbsolutePath() + "已经存在,跳过该文件!");
                   return;
              } else {
                   createFile(toFile, true);                // 创建文件
              }
              System.out.println("复制文件" + fromFile.getAbsolutePath() + "到"
                        + toFile.getAbsolutePath());
              try {                                              // 创建文件输入流
                   InputStream is = new FileInputStream(fromFile);
                   FileOutputStream fos = new FileOutputStream(toFile);// 文件输出流
                   byte[] buffer = new byte[1024];      // 字节数组
                   while (is.read(buffer) != -1) {      // 将文件内容写到文件中
                        fos.write(buffer);
                   }
                   is.close();                               // 输入流关闭
                   fos.close();                               // 输出流关闭
              } catch (FileNotFoundException e) {      // 捕获文件不存在异常
                   e.printStackTrace();
              } catch (IOException e) {                     // 捕获异常
                   e.printStackTrace();
              }
         }
         public static String[] listFile(File dir) { // 获取文件绝对路径
              String absolutPath = dir.getAbsolutePath(); // 获取传入文件的路径
              String[] paths = dir.list();                // 文件名数组
              String[] files = new String[paths.length]; // 声明字符串数组,长为传入文件的个数
              for (int i = 0; i < paths.length; i++) { // 遍历显示文件绝对路径
                   files[i] = absolutPath + "/" + paths[i];
              }
              return files;
         }
         public static void createFile(String path, boolean isFile) {// 创建文件或目录
              createFile(new File(path), isFile);      // 调用方法创建新文件或目录
         }
         public static void createFile(File file, boolean isFile) { // 创建文件
              if (!file.exists()) {                          // 如果文件不存在
                   if (!file.getParentFile().exists()) { // 如果文件父目录不存在
                        createFile(file.getParentFile(), false);
                   } else {                                    // 存在文件父目录
                        if (isFile) {                          // 创建文件
                             try {
                                  file.createNewFile();      // 创建新文件
                             } catch (IOException e) {
                                  e.printStackTrace();
                             }
                        } else {
                             file.mkdir();                     // 创建目录
                        }
                   }
              }
         }
         public static void main(String[] args) {      // java程序主入口处
              String fromPath = "E:/createFile";           // 目录路径
              String toPath = "F:/createFile";           // 源路径
              System.out.println("1.移动文件:从路径 " + fromPath + " 移动到路径 " + toPath);
              try {
                   fileMove(fromPath, toPath);           // 调用方法实现文件的移动
              } catch (Exception e) {
                   System.out.println("移动文件出现问题" + e.getMessage());
              }
              System.out.println("2.复制目录 " + toPath + " 下的文件(不包括该目录)到指定目录" + fromPath
                        + " ,会连同子目录一起复制过去。");
              copyFileFromDir(fromPath, toPath);           // 调用方法实现目录复制
              System.out.println("3.复制目录 " + fromPath + "到指定目录 " + toPath
                        + " ,将目录以及目录下的文件和子目录全部复制到目标目录");
              // 调用方法实现目录以用目录下的文件和子目录全部复制
              copyDir(toPath, fromPath);
         }
    }
    

    以上程序中,TextCopyFileAndMove类的fileMove()方法移动指定文件夹内的全部文件。根据传入的路径创建文件目录,根据listFiles()方法获得目录中的文件与子文件夹。创建目标目录并判断目标是否存在。利用循环将目录中的文件移动到指定的目录,如果循环得到的是文件夹运用递归获得该文件夹中的文件,再删除文件所在的原目录,将获得的文件放入指定的目录。如果目标文件夹存在则删除该文件夹。将获得的文件根据renameTo()方法移动到指定的文件夹。
    copyFileFromDir()方法复制目录下的文件到指定的目录,会连同子目录一起复制过去,其中不包括该目录。根据指定目录创建文件对象,调用createFile()方法创建文件对象,由于传递的第二个参数为false则是创建目录,如果参数为true,则是创建文件。根据目标路径创建文件对象。如果创建的都是目录时,则调用copyFileToDir()方法将指定目录中的文件复制到目标目录中。
    copyFileToDir()方法复制一组文件到指定目录。判断指定目录是否为空,如果为空则返回。根据目标路径创建文件对象,如果该文件对象不存在,则新建该目录对象,否则判断文件对象是否是目录,如果不是目录则返回。运用循环遍历需要复制的文件路径,根据路径创建相应的文件对象,如果该文件对象是目录,则调用copyFileDir()方法通过listFile()方法获得目录中的文件并将文件复制到指定目录中,如果是文件则直接将文件复制到目录中。
    copyFile()方法是复制文件到指定的目录中。File类的exists()方法判断指定文件是否存在,如果存在则返回,否则调用createFile()方法创建文件。根据传入的目标文件创建输入流,再根据流对象创建文件输出流,创建字节数组用来存储流读取的数据。根据读取的数据不为空进行循环,利用文件输出流的write()方法将目标文件的内容写入到指定文件中,读取完毕后释放相关的流资源。

    listFile()方法获得指定目录下的文件,并将文件的绝对路径放入字符串数组中返回。文件对象list()方法是获得目录中的文件,运用循环将目录中的文件的绝对路径放字符串数组中返回。
    createFile()方法判断文件是否存在,如果不存在则判断该文件的上级目录是否存在,如果不存在则调用createFile()方法创建该目录,否则判断上级目录是否是文件,如果是文件则创建新文件否则创建目录。
    运行结果如下所示。
    1.移动文件:从路径 E:/createFile 移动到路径 F:/createFile
    E:\createFile\file1.txt 移动成功
    E:\createFile\temp1\file1.txt 移动成功
    E:\createFile\temp1 移动成功
    E:\createFile\temp26661.txt 移动成功
    E:\createFile\temp26662.txt 移动成功
    ……
    2.复制目录 F:/createFile 下的文件(不包括该目录)到指定目录E:/createFile ,会连同子目录一起复制过去。
    复制文件F:\createFile\createFile\file1.txt到E:\createFile\createFile\file1.txt
    复制文件F:\createFile\createFile\temp1\file1.txt到E:\createFile\createFile\temp1\file1.txt
    复制文件 F:\createFile\createFile\temp1
    复制文件F:\createFile\createFile\temp26661.txt到E:\createFile\createFile\temp26661.txt
    ……
    3.复制目录 E:/createFile到指定目录 F:/createFile ,将目录以及目录下的文件和子目录全部复制到目标目录
    复制文件E:\createFile\createFile\file1.txt到F:\createFile\createFile\createFile\file1.txt
    复制文件 E:\createFile\createFile\temp1
    复制文件 E:\createFile\createFile
    文件F:\createFile\createFile\file1.txt已经存在,跳过该文件!
    文件F:\createFile\createFile\temp1\file1.txt已经存在,跳过该文件!
    文件F:\createFile\createFile\temp26661.txt已经存在,跳过该文件!
    ……

    展开全文
  • Java调用FTP创建文件夹失败

    千次阅读 2017-08-08 19:35:37
    java中FTP创建文件夹失败,但又没有任何报错,是因为FTP服务器不能创建多层目录
  • java创建文件夹和删除文件夹

    千次阅读 2017-05-02 17:32:46
    public class CreateFile { /** * 创建指定目录的文件 * @throws IOException */ @Test public void testMakeFiles() throws IOException{ File file1 = new File("D:/AAA/BBB/CCC");
  • idea中如何同时创建多个文件夹

    千次阅读 2020-06-17 09:27:12
    首先选择项目名,右键选择Open in Terminal,在idea下方会显示一输入框,输入例如mkdir dao service conroller 敲回车,鼠标点击项目,发现创建完成。
  • *mkdir:只能用来创建文件夹,且只能创建一级目录,如果上级不存在,就会创建失败。 mkdirs:只能用来创建文件夹,且能创建多级目录 ,如果上级不存在,就会自动创建。(创建文件夹多用此) createNewFile:只能用来...
  • java io创建多级文件夹

    千次阅读 2013-03-25 09:00:32
    package com.henu.cn; import java.io.File; public class io8 {  public static void main(String[] args){  File s=new File("D:/nnnn1/l1");  File s1=new File("D:/nnnn1/21");  File
  • 该方法递归实现将多个文件夹压缩在同一个zip包中 然后删除文件夹directoryName 下需要被压缩的文件。 package com.chuangqi.tools; import java.io.File; import java.io.FileInputStream; import java.io....
  • 1.原始项目结构图 2.建立新的子项目,右键model->new model,选中create from ...5.观察图片发现缺少java和resources文件夹,手动创建,file->project structure 6.选中test下的main右键new forder输入java和reso
  • MR 之 内容分类并创建多个文件夹

    千次阅读 2019-11-19 18:06:03
    1 数据: 2 需求: 数字 0 代表 好评 数字 1 代表 中评 ...(将 好评 全部放到 一 txt 文件) (将中评 和 差评 全部 放到一 txt 文件) 3 代码实现: ①自定义 :Custom_OutPutFromat pac...
  • 正常的maven项目java文件夹应该是绿色的才对,new的时候会出现class,package选项。 解决方案: 第一步: 第2步:选中java点击Sources就可以了  3.效果如图
  • 第一方法是在给定目录结构path参数下创建指定的目录,  如果path中少了一层目录没有创建则会抛出异常(FileNotFoundException) ,  而第二方法,则是相对安全的实现,因为他会自动创建不存在的父级目录。 ...
  • java文件操作:文件夹,文件创建

    千次阅读 2016-11-09 19:55:15
    本文介绍java文件、文件夹创建细节,着重是避免了“java.io.IOException: 系统找不到指定的路径”的情况。
  • Java解压缩zip - 解压缩多个文件或文件夹

    万次阅读 多人点赞 2012-09-19 12:56:50
    Java解压缩zip - 多个文件(包括文件夹) 对多个文件和文件夹进行压缩,对复杂的文件目录进行解压。 压缩方法使用的是可变参数,可以压缩1到多个文件..可以写数组的方式或者一个个写到参数列表里面... ZipFiles(zip...
  • java 创建文件夹,读写文件

    千次阅读 2011-12-21 21:09:09
    1 创建文件夹 import java.io.File; public class Q { public static void main(String[] args) { String address="E:\\test\\a";...//在e盘的test文件夹下面 创建叫 a的文件夹 \\ 是转义用的 file.m
  • eclipse创建个文件夹

    2017-10-27 08:37:00
    如何给eclipse创建个文件夹,便于项目的管理:有时我们的eclipse中会有很项目的,有的是公司的如Project1,Project2,Project3....还有的呢, 也可能是自己平时做的一些小Demo或者其他的项目,那样看起来是不是...
  • 创建目录: String path = request.getSession().getServletContext().getRealPath("upload/temp/20180716"); File filePath = new File(path); //判断该文件夹是否已存在 if(!filePath.exists()){ ...
  • java中,如何创建个文件夹,并放入代码生成的文件,然后压缩放到指定目录下?
  • String dirFile = "D:\java\example\temporaryDocument\文件夹路径"; File file = new File(dirFile); if(!file.exists()){ //判断文件路径是否存在  file.mkdirs(); //不存在创建新的文件 }...
  • JAVA操作文件或文件夹创建与删除

    千次阅读 2017-11-17 15:59:06
    本文主要讨论mkdir() 和 mkdirs() 的区别。 JDK API 中描述: File file1 = new File("F:/AAA/BBB/CCC");... System.out.println("多级层文件夹创建成功!创建后的文件目录为:" + file1.getPath() + ",上级文件为:
  • 在本地磁盘创建文件目录
  • 本文为大家介绍Java IO-创建文件夹的四种方法,及其优缺点的解析。如果您阅读完成,觉得此文对您有帮助,请给我点赞,您的支持是我不竭的创作动力。 1.传统API创建文件夹方式 Java传统的IO API种使用java.io.File...
  • 用在把一个文件夹下的所有文件都放到一个文件夹下,删除多层文件夹
  • I/O输入输出流File类具有创建文件的功能,利用循环...import java.io.*; //导入File类 public class CreatFile { /** * @param args */ public static void main(String[] args) { /* 批量创建简单名称...
  • 1 import java.io.File; 2 import java.io.IOException; 3 4 public class FileDemo { 5 public static void main(String[] args) { 6 // 抛除异常IOEcxception 7 try { 8 ...
  • 参考:...   Talk is cheap,show me the code! ...同一文件夹下的多个文件夹打成一个zip包 import java.io.BufferedInputSt
  • java创建文件夹目录、mkdir与mkdirs

    千次阅读 2016-06-20 09:56:58
    mkdir与mkdirs的区别: mkdirs可以建立多级文件夹、而mkdir只能建立一级文件夹。 实例: String path = "D:\apache-tomcat-7.0.64\webapps\ROOT\stdtestFileUpload\TestToolFile"; File file = new File(path);

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 255,512
精华内容 102,204
关键字:

java创建多个文件夹

java 订阅