/**
* 文件夹拷贝(文件内含有文件和文件夹)
*
* @param src
* @param des
*/
private static void copy(String src, String des) {
File file1 = new File(src);
File[] fs = file1.listFiles();
File file2 = new File(des);
if (!file2.exists()) {
file2.mkdirs();
for (File f : fs) {
if (f.isFile()) {
fileCopy(f.getPath(), des + "\\" + f.getName()); // 调用文件拷贝的方法
} else if (f.isDirectory()) {
copy(f.getPath(), des + "\\" + f.getName());
}
}
}
} /**
* 文件拷贝的方法
*/
private static void fileCopy(String src, String des) {
BufferedReader br = null;
PrintStream ps = null;
try {
br = new BufferedReader(new InputStreamReader(new FileInputStream(src)));
ps = new PrintStream(new FileOutputStream(des));
String s = null;
while ((s = br.readLine()) != null) {
ps.println(s);
ps.flush();
} } catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (br != null)
br.close();
if (ps != null)
ps.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}

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("\n");
}
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("\n");
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();
}

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. C++——virtual

    一.放在父类的函数名前面:多态 1.作用:实现多态:子类可以自定义父类中的virtual函数 #include <iostream> using namespace std; class ...

  2. 用bat写的一个小病毒

    最近看了一点bat的知识,具体说是看了一个博客:http://blog.csdn.net/qsyzb/article/details/17364581 用了三天才看完=.=,感觉作者整理整理可以把博客 ...

  3. Win10系统下安装360安全卫士,安装完成后一直提示

     新买的电脑,第一次安装360安全卫士,安装完成后一直报这个错误,显示MiniUI.dll文件不存在,但这个文件就在安装目录下:后面有多次卸载.安装都能能成功,求助大神        

  4. Blender 工具使用——显示键盘和鼠标操作

    Blender 工具使用--显示键盘和鼠标操作 Blender自己本身就带有显示按键和鼠标的功能,就是3D View: Screencast Keys插件. 打开 File(文件) -> Use ...

  5. rest-framework组件 之 渲染器与版本

    浏览目录 渲染器 版本 渲染器 规定页面显示的效果(无用,了解即可). 局部渲染 只返回json数据. 效果: 看另一种情况: 既返回json数据,又嵌套在html中.注意:容易出bug. 效果如下: ...

  6. linux环境安装python

    linux环境下安装python3,一步一步来吧! 安装python3 安装readline-devel依赖 ,用于解决python3安装完成后,退格和方向键乱码问题 yum install read ...

  7. 数据结构_stack

    问题描述 一天,小 L 发现了一台支持一下操作的机器:IN x:将整数 x 入栈POP:将栈顶元素出栈ASUB:出栈两个数,将两数差的绝对值入栈COPY:将栈顶元素(如果有的话)复制一份,入栈现在小 ...

  8. java全栈day09----继承 抽象类

    01继承的概述 在Java中,类的继承是指在一个现有类的基础上去构建一个新的类, 构建出来的新类被称作子类,现有类被称作父类在java中 继承如何来实用呢?举个例子 继承的定义格式和使用 *A:继承的 ...

  9. 《Head First Servlets & JSP》-6-会话管理-listener etc. demo

    工程结构 上下文参数示例 示例程序展示了如何从上下文读取参数,并在上下文监听器中生成属性对象和在上下文中设置属性. 建立一个简单的JavaBean对象作为属性:Dog.java package com ...

  10. Altium designer的PCB设计规则

    PCB布线规则,布板需要注意的点很多,但是基本上注意到了下面的这此规则,LAYOUT PCB应该会比较好,不管是高速还是低频电路,都基本如此. 1. 一般规则 1.1 PCB板上预划分数字.模拟.DA ...