java怎么创建目录(删除/修改/复制目录及文件)代码实例
import java.io.*;
public class fileoperate {
public fileoperate() {
}
/**
* 新建目录
* @param folderpath string 如 c:/fqf
* @return boolean
*/
public void newfolder(string folderpath) {
try {
string filepath = folderpath;
filepath = filepath.tostring();
java.io.file myfilepath = new java.io.file(filepath);
if (!myfilepath.exists()) {
myfilepath.mkdir();
}
}
catch (exception e) {
system.out.println("新建目录操作出错");
e.printstacktrace();
}
}
/**
* 新建文件
* @param filepathandname string 文件路径及名称 如c:/fqf.txt
* @param filecontent string 文件内容
* @return boolean
*/
public void newfile(string filepathandname, string filecontent) {
try {
string filepath = filepathandname;
filepath = filepath.tostring();
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) {
system.out.println("新建目录操作出错");
e.printstacktrace();
}
}
/**
* 删除文件
* @param filepathandname string 文件路径及名称 如c:/fqf.txt
* @param filecontent string
* @return boolean
*/
public void delfile(string filepathandname) {
try {
string filepath = filepathandname;
filepath = filepath.tostring();
java.io.file mydelfile = new java.io.file(filepath);
mydelfile.delete();
}
catch (exception e) {
system.out.println("删除文件操作出错");
e.printstacktrace();
}
}
/**
* 删除文件夹
* @param filepathandname string 文件夹路径及名称 如c:/fqf
* @param filecontent string
* @return boolean
*/
public void delfolder(string folderpath) {
try {
delallfile(folderpath); //删除完里面所有内容
string filepath = folderpath;
filepath = filepath.tostring();
java.io.file myfilepath = new java.io.file(filepath);
myfilepath.delete(); //删除空文件夹
}
catch (exception e) {
system.out.println("删除文件夹操作出错");
e.printstacktrace();
}
}
/**
* 删除文件夹里面的所有文件
* @param path string 文件夹路径 如 c:/fqf
*/
public 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
* @return boolean
*/
public 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];
int length;
while ( (byteread = instream.read(buffer)) != -1) {
bytesum += byteread; //字节数 文件大小
system.out.println(bytesum);
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 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 void movefile(string oldpath, string newpath) {
copyfile(oldpath, newpath);
delfile(oldpath);
}
/**
* 移动文件到指定目录
* @param oldpath string 如:c:/fqf.txt
* @param newpath string 如:d:/fqf.txt
*/
public void movefolder(string oldpath, string newpath) {
copyfolder(oldpath, newpath);
delfolder(oldpath);
}
}
上一篇: 服务器运行了三十天,部分请求变慢了求解决
下一篇: Java 文件解压缩实现代码
推荐阅读
-
java怎么创建目录(删除/修改/复制目录及文件)代码实例
-
java怎么创建目录(删除/修改/复制目录及文件)代码实例
-
java复制文件的4种方式及拷贝文件到另一个目录下的实例代码
-
PHP unlink与rmdir删除目录及目录下所有文件实例代码
-
Java IO创建目录和文件实例代码
-
autorun.inf怎么删除 PHP 删除一个目录及目录下的所有文件的函数代码
-
PHP unlink与rmdir删除目录及目录下所有文件实例代码
-
php文件操作类(建立,写入,删除,修改,复制,移动,创建目录)
-
php文件操作类(建立,写入,删除,修改,复制,移动,创建目录)
-
PHP FTP操作类代码( 上传、拷贝、移动、删除文件/创建目录)_php实例