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 ...
随机推荐
- oracle --(二)分区(extent)
基本关系:数据库---表空间---数据段---分区---数据块 一.分区(extent)分区extent是比数据块大一级的存储结构,是几个逻辑上相邻的data block的组合.我们知道,物理存储通常 ...
- 解决iText+freemark导出pdf不支持base64的解决办法
工具类: package test; import java.io.IOException ; import org.w3c.dom.Element ; import org.xhtmlrendere ...
- Ros学习service——小海龟
rosservice 服务(services)是节点之间通讯的另一种方式.服务允许节点发送请求(request) 并获得一个响应(response) rosservice list 输出可用服务的信息 ...
- gcc 升级方法
Want GCC 4.8 with c++11 complete feature? Well here’s how to install it in Ubuntu 12.04, Ubuntu 13.0 ...
- 前端学习笔记2017.6.12 HTML的结构以及xhtml、html、xml的区别
HTML的结构 一个HTML文档可分为几个部分,如下图所示: DOCTYPE部分.head部分和body部分 DOCTYPE部分,这个很重要,可以理解为不同的DOCTYPE意味着不同的html标准,因 ...
- 数据结构_相似三角形优雅值_sjx
问题描述 给你 n 个三角形,每个三角形有一个优雅值,然后给出一个询问,每次询问一个三角形,求与询问的三角形,相似的三角形中的优雅值最大是多少. ★数据输入第一行输入包括 n 一个数字,接下来 n 行 ...
- 数据结构_just_sort
问题描述 给定两个序列 a b,序列 a 原先是一个单调递增的正数序列,但是由于某些原因,使得序列乱序了,并且一些数丢失了(用 0 表示).经过数据恢复后,找到了正数序列 b ,且序列 a 中 0 的 ...
- python基本概念——字符串
1.字符串 一个字符串用什么引号开头,就必须用什么引号结尾.两上三引号之间的一切都作为字符串的内容,对应的单引号与双引号却只能创建单行字符串. 2.转义符 \,行末的单独一个反斜杠表示字符串在下一行继 ...
- 2013蓝桥杯JavaA组T10 大臣的旅费(树的直径)
大臣的旅费 时间限制:1.0s 内存限制:256.0MB 问题描述 很久以前,T王国空前繁荣.为了更好地管理国家,王国修建了大量的快速路,用于连接首都和王国内的各大城市. 为节省经费,T国的大 ...
- Java50道经典习题-程序24 根据输入求输出
题目:给一个不多于5位的正整数,要求:一.求它是几位数,二.逆序打印出各位数字.分析: (1)利用随机函数产生[1,99999]之间的一个正整数n (2)将n转换成字符串s,调用字符串的length( ...