import java.io.*;
public class FileOperate {
public FileOperate() {
}
/**
* 新建目录
*
* @param folderPath
* String 如 c:/fqf
*/
public static void newFolder(String folderPath) {
try {
java.io.File myFilePath = new java.io.File(folderPath);
if (!myFilePath.exists()) {
myFilePath.mkdir();
}
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 新建文件
*
* @param filePathAndName
* String 文件路径及名称 如c:/fqf.txt
* @param fileContent
* String 文件内容
*/
public static void newFile(String filePath, String fileContent) {
try {
File myFilePath = new File(filePath);
if (!myFilePath.exists()) {
myFilePath.createNewFile();
}
FileWriter resultFile = new FileWriter(myFilePath);
PrintWriter myFile = new PrintWriter(resultFile);
String strContent = fileContent;
myFile.println(strContent);
resultFile.close();
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 删除文件
*
* @param filePathAndName
* String 文件路径及名称 如c:/fqf.txt
*/
public static void delFile(String filePath) {
try {
filePath = filePath.toString();
File myDelFile = new File(filePath);
myDelFile.delete();
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 删除文件夹
*
* @param folderPath
* String 文件夹路径及名称 如c:/fqf
*/
public static void delFolder(String folderPath) {
try {
delAllFile(folderPath); // 删除完里面所有内容
java.io.File myFilePath = new java.io.File(folderPath);
myFilePath.delete(); // 删除空文件夹
} catch (Exception e) {
System.out.println("删除文件夹操作出错");
e.printStackTrace();
}
}
/**
* 删除文件夹里面的所有文件
*
* @param path
* String 文件夹路径 如 c:/fqf
*/
public static void delAllFile(String path) {
File file = new File(path);
if (!file.exists()) {
return;
}
if (!file.isDirectory()) {
return;
}
String[] tempList = file.list();
File temp = null;
for (int i = 0; i < tempList.length; i++) {
if (path.endsWith(File.separator)) {
temp = new File(path + tempList[i]);
} else {
temp = new File(path + File.separator + tempList[i]);
}
if (temp.isFile()) {
temp.delete();
}
if (temp.isDirectory()) {
delAllFile(path + "/" + tempList[i]);// 先删除文件夹里面的文件
delFolder(path + "/" + tempList[i]);// 再删除空文件夹
}
}
}
/**
* 复制单个文件
*
* @param oldPath
* String 原文件路径 如:c:/fqf.txt
* @param newPath
* String 复制后路径 如:f:/fqf.txt 或 f:/aa.txt
* @return boolean
*/
public static void copyFile(String oldPath, String newPath) {
try {
int bytesum = 0;
int byteread = 0;
File oldfile = new File(oldPath);
if (oldfile.exists()) { // 文件存在时
InputStream inStream = new FileInputStream(oldPath); // 读入原文件
FileOutputStream fs = new FileOutputStream(newPath);
byte[] buffer = new byte[1444];
while ((byteread = inStream.read(buffer)) != -1) {
bytesum += byteread; // 字节数 文件大小
fs.write(buffer, 0, byteread);
}
inStream.close();
}
} catch (Exception e) {
System.out.println("复制单个文件操作出错");
e.printStackTrace();
}
}
/**
* 复制整个文件夹内容
*
* @param oldPath
* String 原文件路径 如:c:/fqf
* @param newPath
* String 复制后路径 如:f:/fqf/ff
* @return boolean
*/
public static void copyFolder(String oldPath, String newPath) {
try {
(new File(newPath)).mkdirs(); // 如果文件夹不存在 则建立新文件夹
File a = new File(oldPath);
String[] file = a.list();
File temp = null;
for (int i = 0; i < file.length; i++) {
if (oldPath.endsWith(File.separator)) {
temp = new File(oldPath + file[i]);
} else {
temp = new File(oldPath + File.separator + file[i]);
}
if (temp.isFile()) {
FileInputStream input = new FileInputStream(temp);
FileOutputStream output = new FileOutputStream(newPath
+ "/" + (temp.getName()).toString());
byte[] b = new byte[1024 * 5];
int len;
while ((len = input.read(b)) != -1) {
output.write(b, 0, len);
}
output.flush();
output.close();
input.close();
}
if (temp.isDirectory()) {// 如果是子文件夹
copyFolder(oldPath + "/" + file[i], newPath + "/" + file[i]);
}
}
} catch (Exception e) {
System.out.println("复制整个文件夹内容操作出错");
e.printStackTrace();
}
}
/**
* 移动文件到指定目录
*
* @param oldPath
* String 如:c:/fqf.txt
* @param newPath
* String 如:d:/fqf.txt
*/
public static void moveFile(String oldPath, String newPath) {
copyFile(oldPath, newPath);
delFile(oldPath);
}
/**
* 移动目录到指定目录
*
* @param oldPath
* String 如:c:/fqf
* @param newPath
* String 如:d:/fqf
*/
public static void moveFolder(String oldPath, String newPath) {
copyFolder(oldPath, newPath);
delFolder(oldPath);
}
public static void main(String[] args) {
/* newFolder("E:/text");
newFile("E:/text/test.txt","hello every body");
delFile("E:/text/test.txt");
delFolder("E:/text");
copyFile("D:/yy.txt", "E:/aa.txt");
copyFolder("D:/Test","E:/Test");
moveFile("D:/Test/Test.xap","E:/aa.xap");
moveFolder("D:/Test","E:/aa/test");*/
}
}
分享到:
相关推荐
Ubuntu 常用文件操作命令。列举并收集了常用的ubuntu的各种对文件的操作命令。
linux文件操作 linux操作系统 文件操作 常用命令 系统命令
C# INI 配置文件 常用操作 类库 (附源码)
Linux常用配置文件及常用命令 Linux常用配置文件及常用命令
这是Linux的常用命令 文件搜索命令 在ubuntu下执行,图文并茂
在C语言中,处理文件通常涉及到打开文件、读取文件内容、写入文件内容以及关闭文件等操作。
04.1.1 Linux常用命令-文件处理命令-命令格式与目录处理命令ls.mp4 04.1.2 Linux常用命令-文件处理命令-目录处理命令.mp4 04.1.3 Linux常用命令-文件处理命令-文件处理命令.mp4 04.1.4 Linux常用命令-文件处理...
在Java后端中处理文件通常涉及到文件的读取、写入、删除以及可能的文件流处理等操作。
linux 下重用传送文件的命令,linux to windows ,windows to linux
Linux常用文件命令,这是Linux中的常用文件命令,可以调用Linux常用的基本文件命令
linux最常用的命令 linux命令学习哪些? linux命令应该记住多少就够用了? linux文件操作最常用的命令有哪些? 学习完,linux的文件操作命令这些就够了
08_文件和目录常用命令.html
MySQL导入.sql文件及常用命令
JAVAWEB各种配置文件加常用操作(spring strut2 jpa hibernate jdbc jndi springMVC velocity ant log4j ehcache等各种配置文件及常用操作),相信对你的开发一定会有很大的帮助!
2.掌握有关文件和目录操作的常用命令。 3.熟练使用man命令。 二、实验仪器设备环境 装有Linux操作系统的计算机。 三、实验原理 我们经常要利用文件来存放信息和数据,进行创建/删除文件、打开关闭文件、读/写文件等...
Linux常用命令 LINUX常用命令和系统管理 文件目录基本操作 文件压缩和打包命令 文件和目录存取权限 磁盘存储器管理 系统管理
较详细的介绍了MATLAB文件操作常用指令及常用函数
Linux常用命令之文件处理.xmind
摘要:本文主要讲解是Maven使用过程中一些常用的命令,并配上图片说明,最后还讲了pom.xml文件的一些构造。-D传入属性参数-P使用pom中指定的配置-e显示maven运行出错的信息-o离线执行命令,即不去远程仓库更新包-X...
linux常用命令,含目录操作目录,文件操作命令等等。