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.  读取文件内容

  1. /**
  2. * 读取文件信息
  3. * @param src 文件路径
  4. * @return String
  5. */
  6. public static String readCacert(String src) {
  7. StringBuilder sb = new StringBuilder();
  8. try {
  9. BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(new File(src))));
  10. String CacertStr = null;
  11. while (null != (CacertStr = br.readLine())) {
  12. sb.append(CacertStr);
  13. sb.append("\n");
  14. }
  15. br.close();
  16. } catch (Exception e) {
  17. e.printStackTrace();
  18. }
  19. return sb.toString();
  20. }

4. 写入文件

  1. /**
  2. * 将String型写入文件中
  3. * @param serverCertificate 证书字符串
  4. * @param path 写入路径
  5. */
  6. public static void writePem(String src, String path) {
  7.  
  8. File file = new File(path);
  9. try {
  10. BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file)));
  11. bw.write(src);
  12. bw.newLine();
  13. bw.flush();
  14. bw.close();
  15. } catch (FileNotFoundException e1) {
  16. e1.printStackTrace();
  17. } catch (IOException e) {
  18. e.printStackTrace();
  19. }
  20. }

5.  创建文件

  1. /**
  2. * 创建文件
  3. */
  4. public static File createFile(String path, String fileName) {
  5. File f = new File(path);
  6. if (!f.exists()) {
  7. f.mkdirs();// 创建目录
  8. }
  9. File file = new File(path, fileName);
  10. if (!file.exists()) {
  11. try {
  12. file.createNewFile();
  13. } catch (IOException e) {
  14. e.printStackTrace();
  15. }
  16. }
  17. return file;
  18. }

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

  1. /**
  2. * 将String型写入文件中
  3. *
  4. * @param serverCertificate
  5. * 证书字符串
  6. * @param path
  7. * 写入路径
  8. */
  9. public static void writeFile(String src, String path, String fileName) {
  10. File file = createFile(path, fileName);
  11. try {
  12. BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file)));
  13. bw.write(src);
  14. bw.flush();
  15. bw.close();
  16. } catch (FileNotFoundException e1) {
  17. e1.printStackTrace();
  18. } catch (IOException e) {
  19. e.printStackTrace();
  20. }
  21. }
  22.  
  23. /**
  24. * 创建文件
  25. */
  26. public static File createFile(String path, String fileName) {
  27. File f = new File(path);
  28. if (!f.exists()) {
  29. f.mkdirs();// 创建目录
  30. }
  31. File file = new File(path, fileName);
  32. if (!file.exists()) {
  33. try {
  34. file.createNewFile();
  35. } catch (IOException e) {
  36. e.printStackTrace();
  37. }
  38. }
  39. return file;
  40. }

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

  1. /**
  2. * 追加字符串到指定文件中
  3. * @param filePath
  4. * @param src
  5. */
  6. public static void appendStrToFile(String src, String filePath) {
  7. try {
  8. FileWriter fw = new FileWriter(filePath, true);
  9. BufferedWriter bw = new BufferedWriter(fw);
  10. Date d = new Date();
  11. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  12. bw.append(sdf.format(d)+"##");
  13. bw.write(src);
  14. bw.write("\n");
  15. bw.close();
  16. fw.close();
  17. } catch (Exception e) {
  18. e.printStackTrace();
  19. }
  20. }

8. 读取文件信息

  1. /**
  2. * 读取文件信息
  3. * @param src
  4. * @return String
  5. */
  6. public static String readFile(String path) {
  7. StringBuilder sb = new StringBuilder();
  8. File file = new File(path);
  9. if (!file.exists()) {
  10. return null;
  11. }
  12. try {
  13. BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(file)));
  14. String CacertStr = null;
  15. while (null != (CacertStr = br.readLine())) {
  16. sb.append(CacertStr);
  17. }
  18. br.close();
  19. } catch (Exception e) {
  20. e.printStackTrace();
  21. }
  22. return sb.toString();
  23. }

IO文件夹拷贝(文件内含有文件和文件夹)的更多相关文章

  1. Java_文件夹拷贝

    一.思路 * 文件夹的拷贝 1.递归查找子孙级文件 2.文件复制 文件夹创建 二.代码 package com.ahd.File; import java.io.File; import java.i ...

  2. java IO之字节流和字符流-Reader和Writer以及实现文件复制拷贝

    接上一篇的字节流,以下主要介绍字符流.字符流和字节流的差别以及文件复制拷贝.在程序中一个字符等于两个字节.而一个汉字占俩个字节(一般有限面试会问:一个char是否能存下一个汉字,答案当然是能了,一个c ...

  3. 07 IO流(四)——文件字节流 FileInputStream/FileOutputStream与文件的拷贝

    两个类的简述 专门用来对文件进行读写的类. 父类是InputStream.OutputStream 文件读入细节 FileOutputStream流的构造方法:new FileOutputStream ...

  4. java学习笔记之IO编程—目录和文件的拷贝

    进行文件或目录的拷贝时,要先判断处理对象是文件还是目录,如果是文件则直接拷贝,如果是目录还需要拷贝它的子目录及其文件,这就需要递归处理了 import java.io.*; class FileUti ...

  5. mongoDB整个文件夹拷贝备份还原的坑

    现网有一个mongoDB数据库需要搬迁到新服务器,开发那边的要求是先搬迁现在的数据库过去,然后剩下的以后他们用程序同步. 数据库大楷20G左右,现网是主备仲裁的,停掉备点,拷贝了全部文件. 新服务器也 ...

  6. java实现文件的拷贝以及文件的删除

    /** * 将文件拷贝到指定目录 * @param oldAddress 文件所在目录(文件的全路径) * @param newAddress 指定目录(包含复制文件的全名称) * @throws E ...

  7. java基础 File 递归删除文件夹中所有文件文件夹 目录(包含子目录)下的.java文件复制到e:/abc文件夹中, 并统计java文件的个数

    File 递归删除文件夹中所有文件文件夹 package com.swift.kuozhan; import java.io.File; import java.util.Scanner; /*键盘录 ...

  8. META-INF文件夹是干啥的,META-INF文件夹的作用, META-INF文件夹能删吗

    今天有人问到 META-INF文件夹是干啥的,META-INF文件夹的作用, META-INF文件夹能删吗,还有项目的META-INF下面一般会有个MANIFEST.MF 文件,都是干啥的. 百度搜了 ...

  9. [Java] 通过文件流拷贝文件

    package test.stream; import java.io.FileInputStream; import java.io.FileNotFoundException; import ja ...

随机推荐

  1. JAVA之数组队列

    package xxj.datastructure0810; import java.util.Random; public class DataStructure { /** * @param ar ...

  2. isinstance判断某个对象是否是某个类创建的

    #!/usr/bin/env python li = [11,22] #判断某个对象是否是某个类创建的. r = isinstance(li, list) print(r) 结果: C:\Python ...

  3. Node.js的__dirname,__filename,process.cwd(),./的含义

    简单说一下这几个路径的意思,: __dirname: 获得当前执行文件所在目录的完整目录名 __filename: 获得当前执行文件的带有完整绝对路径的文件名 process.cwd():获得当前执行 ...

  4. C++实现筛选法

    筛选法 介绍: 筛选法又称筛法,是求不超过自然数N(N>1)的所有质数的一种方法.据说是古希腊的埃拉托斯特尼(Eratosthenes,约公元前274-194年)发明的,又称埃拉托斯特尼筛子. ...

  5. ROS Learning-013 beginner_Tutorials (编程) 编写ROS服务版的Hello World程序(Python版)

    ROS Indigo beginner_Tutorials-12 编写ROS服务版的Hello World程序(Python版) 我使用的虚拟机软件:VMware Workstation 11 使用的 ...

  6. Mac安装破解版Office 2016办公软件

    一.相关软件 Microsoft Office 2016 For Mac Cracker 破解工具 资源地址(链接:https://pan.baidu.com/s/1Z5CIv-XbxS08MniYN ...

  7. Tomact和XML配置文件

    1 Http协议2 Tomcat服务器3 编写xml4 通过DTD约束编写指定格式的XML 5 通过Schema约束编写指定格式的XML6 使用D0M4J解析xml================== ...

  8. SharpCompress压缩和解压缩,并解决压缩的中文乱码问题

    一.下载SharpCompress库 二.解压缩 (1)不带密码 /// <summary> /// 解压缩(支持rar,zip) /// </summary> /// < ...

  9. 关于Android Studio中第三方jar包的Javadoc绑定

    原文地址:http://blog.csdn.net/a739697044/article/details/28116189   现在刚开始从Eclipse转用Android Studio,现在在尝试使 ...

  10. 值得细读!如何系统有效地提升Android代码的安全性?

    众所周知,代码安全是Android开发工作中的一大核心要素. 11月3日,安卓巴士全球开发者论坛线下系列沙龙第七站在成都顺利举办.作为中国领先的安卓开发者社区,安卓巴士近年来一直致力于在全国各大城市举 ...