IO文件夹拷贝(文件内含有文件和文件夹)

 1 /**
 2      * 文件夹拷贝(文件内含有文件和文件夹)
 3      * 
 4      * @param src
 5      * @param des
 6      */
 7     private static void copy(String src, String des) {
 8         File file1 = new File(src);
 9         File[] fs = file1.listFiles();
10         File file2 = new File(des);
11         if (!file2.exists()) {
12             file2.mkdirs();
13             for (File f : fs) {
14                 if (f.isFile()) {
15                     fileCopy(f.getPath(), des + "\" + f.getName()); // 调用文件拷贝的方法
16                 } else if (f.isDirectory()) {
17                     copy(f.getPath(), des + "\" + f.getName());
18                 }
19             }
20         }
21     }
22 
23     /**
24      * 文件拷贝的方法
25      */
26     private static void fileCopy(String src, String des) {
27         BufferedReader br = null;
28         PrintStream ps = null;
29         try {
30             br = new BufferedReader(new InputStreamReader(new FileInputStream(src)));
31             ps = new PrintStream(new FileOutputStream(des));
32             String s = null;
33             while ((s = br.readLine()) != null) {
34                 ps.println(s);
35                 ps.flush();
36             }
37 
38         } catch (FileNotFoundException e) {
39             e.printStackTrace();
40         } catch (IOException e) {
41             e.printStackTrace();
42         } finally {
43             try {
44                 if (br != null)
45                     br.close();
46                 if (ps != null)
47                     ps.close();
48             } catch (IOException e) {
49                 e.printStackTrace();
50             }
51         }
52     }

 3.  读取文件内容

/**
     * 读取文件信息
     * @param src  文件路径
     * @return String
     */
    public static String readCacert(String src) {
        StringBuilder sb = new StringBuilder();
        try {
            BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(new File(src))));
            String CacertStr = null;
            while (null != (CacertStr = br.readLine())) {
                sb.append(CacertStr);
                sb.append("
");
            }
            br.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return sb.toString();
    }

 4. 写入文件

    /**
     * 将String型写入文件中
     * @param serverCertificate 证书字符串
     * @param path  写入路径
     */
    public static void writePem(String src, String path) {
        
        File file = new File(path);
        try {
            BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file)));
            bw.write(src);
            bw.newLine();
            bw.flush();
            bw.close();
        } catch (FileNotFoundException e1) {
            e1.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

 5.  创建文件

/**
     * 创建文件
     */
    public static File createFile(String path, String fileName) {
        File f = new File(path);
        if (!f.exists()) {
            f.mkdirs();// 创建目录
        }
        File file = new File(path, fileName);
        if (!file.exists()) {
            try {
                file.createNewFile();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        return file;
    }

 6.  如果不存在就创建新文件, 如果存在就覆盖

/**
     * 将String型写入文件中
     * 
     * @param serverCertificate
     *            证书字符串
     * @param path
     *            写入路径
     */
    public static void writeFile(String src, String path, String fileName) {
        File file = createFile(path, fileName);
        try {
            BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file)));
            bw.write(src);
            bw.flush();
            bw.close();
        } catch (FileNotFoundException e1) {
            e1.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    
    /**
     * 创建文件
     */
    public static File createFile(String path, String fileName) {
        File f = new File(path);
        if (!f.exists()) {
            f.mkdirs();// 创建目录
        }
        File file = new File(path, fileName);
        if (!file.exists()) {
            try {
                file.createNewFile();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        return file;
    }

7.  追加字符串到指定文件中

/**
     * 追加字符串到指定文件中
     * @param filePath
     * @param src
     */
    public static void appendStrToFile(String src, String filePath) {
        try {  
              FileWriter fw = new FileWriter(filePath, true);  
              BufferedWriter bw = new BufferedWriter(fw);  
              Date d = new Date();
              SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
              bw.append(sdf.format(d)+"##");  
              bw.write(src);
              bw.write("
");
              bw.close();  
              fw.close();  
          } catch (Exception e) {  
              e.printStackTrace();  
          }
    }

8. 读取文件信息

/**
     * 读取文件信息
     * @param src
     * @return String
     */
    public static String readFile(String path) {
        StringBuilder sb = new StringBuilder();
        File file = new File(path);
        if (!file.exists()) {
            return null;
        }
        try {
            BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(file)));
            String CacertStr = null;
            while (null != (CacertStr = br.readLine())) {
                sb.append(CacertStr);
            }
            br.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return sb.toString();
    }
原文地址:https://www.cnblogs.com/redhat0019/p/8034089.html