IO文件夹拷贝(文件内含有文件和文件夹)
- /**
- * 文件夹拷贝(文件内含有文件和文件夹)
- *
- * @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文件夹拷贝(文件内含有文件和文件夹)的更多相关文章
- Java_文件夹拷贝
一.思路 * 文件夹的拷贝 1.递归查找子孙级文件 2.文件复制 文件夹创建 二.代码 package com.ahd.File; import java.io.File; import java.i ...
- java IO之字节流和字符流-Reader和Writer以及实现文件复制拷贝
接上一篇的字节流,以下主要介绍字符流.字符流和字节流的差别以及文件复制拷贝.在程序中一个字符等于两个字节.而一个汉字占俩个字节(一般有限面试会问:一个char是否能存下一个汉字,答案当然是能了,一个c ...
- 07 IO流(四)——文件字节流 FileInputStream/FileOutputStream与文件的拷贝
两个类的简述 专门用来对文件进行读写的类. 父类是InputStream.OutputStream 文件读入细节 FileOutputStream流的构造方法:new FileOutputStream ...
- java学习笔记之IO编程—目录和文件的拷贝
进行文件或目录的拷贝时,要先判断处理对象是文件还是目录,如果是文件则直接拷贝,如果是目录还需要拷贝它的子目录及其文件,这就需要递归处理了 import java.io.*; class FileUti ...
- mongoDB整个文件夹拷贝备份还原的坑
现网有一个mongoDB数据库需要搬迁到新服务器,开发那边的要求是先搬迁现在的数据库过去,然后剩下的以后他们用程序同步. 数据库大楷20G左右,现网是主备仲裁的,停掉备点,拷贝了全部文件. 新服务器也 ...
- java实现文件的拷贝以及文件的删除
/** * 将文件拷贝到指定目录 * @param oldAddress 文件所在目录(文件的全路径) * @param newAddress 指定目录(包含复制文件的全名称) * @throws E ...
- java基础 File 递归删除文件夹中所有文件文件夹 目录(包含子目录)下的.java文件复制到e:/abc文件夹中, 并统计java文件的个数
File 递归删除文件夹中所有文件文件夹 package com.swift.kuozhan; import java.io.File; import java.util.Scanner; /*键盘录 ...
- META-INF文件夹是干啥的,META-INF文件夹的作用, META-INF文件夹能删吗
今天有人问到 META-INF文件夹是干啥的,META-INF文件夹的作用, META-INF文件夹能删吗,还有项目的META-INF下面一般会有个MANIFEST.MF 文件,都是干啥的. 百度搜了 ...
- [Java] 通过文件流拷贝文件
package test.stream; import java.io.FileInputStream; import java.io.FileNotFoundException; import ja ...
随机推荐
- JAVA之数组队列
package xxj.datastructure0810; import java.util.Random; public class DataStructure { /** * @param ar ...
- isinstance判断某个对象是否是某个类创建的
#!/usr/bin/env python li = [11,22] #判断某个对象是否是某个类创建的. r = isinstance(li, list) print(r) 结果: C:\Python ...
- Node.js的__dirname,__filename,process.cwd(),./的含义
简单说一下这几个路径的意思,: __dirname: 获得当前执行文件所在目录的完整目录名 __filename: 获得当前执行文件的带有完整绝对路径的文件名 process.cwd():获得当前执行 ...
- C++实现筛选法
筛选法 介绍: 筛选法又称筛法,是求不超过自然数N(N>1)的所有质数的一种方法.据说是古希腊的埃拉托斯特尼(Eratosthenes,约公元前274-194年)发明的,又称埃拉托斯特尼筛子. ...
- ROS Learning-013 beginner_Tutorials (编程) 编写ROS服务版的Hello World程序(Python版)
ROS Indigo beginner_Tutorials-12 编写ROS服务版的Hello World程序(Python版) 我使用的虚拟机软件:VMware Workstation 11 使用的 ...
- Mac安装破解版Office 2016办公软件
一.相关软件 Microsoft Office 2016 For Mac Cracker 破解工具 资源地址(链接:https://pan.baidu.com/s/1Z5CIv-XbxS08MniYN ...
- Tomact和XML配置文件
1 Http协议2 Tomcat服务器3 编写xml4 通过DTD约束编写指定格式的XML 5 通过Schema约束编写指定格式的XML6 使用D0M4J解析xml================== ...
- SharpCompress压缩和解压缩,并解决压缩的中文乱码问题
一.下载SharpCompress库 二.解压缩 (1)不带密码 /// <summary> /// 解压缩(支持rar,zip) /// </summary> /// < ...
- 关于Android Studio中第三方jar包的Javadoc绑定
原文地址:http://blog.csdn.net/a739697044/article/details/28116189 现在刚开始从Eclipse转用Android Studio,现在在尝试使 ...
- 值得细读!如何系统有效地提升Android代码的安全性?
众所周知,代码安全是Android开发工作中的一大核心要素. 11月3日,安卓巴士全球开发者论坛线下系列沙龙第七站在成都顺利举办.作为中国领先的安卓开发者社区,安卓巴士近年来一直致力于在全国各大城市举 ...