zoukankan
html css js c++ java
java 文件 目录和文件的新建、删除、复制、剪切
package
com;
import
java.io.File;
import
java.io.FileInputStream;
import
java.io.FileOutputStream;
import
java.io.FileWriter;
import
java.io.InputStream;
import
java.io.PrintWriter;
public
class
CopyFile
{
public
CopyFile()
{
}
/** */
/**
* 新建目录
*
@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);
}
public
static
void
main(String[] args)
{
CopyFile file
=
new
CopyFile();
//
file.newFolder("newFolder22222");
file.newFile(
"
test.txt
"
,
"
fdsfdsfdsfs
"
);
}
//
拷贝文件
private
void
copyFile2(String source, String dest)
{
try
{
File in
=
new
File(source);
File out
=
new
File(dest);
FileInputStream inFile
=
new
FileInputStream(in);
FileOutputStream outFile
=
new
FileOutputStream(out);
byte
[] buffer
=
new
byte
[
1024
];
int
i
=
0
;
while
((i
=
inFile.read(buffer))
!=
-
1
)
{
outFile.write(buffer,
0
, i);
}
//
end while
inFile.close();
outFile.close();
}
//
end try
catch
(Exception e)
{
}
//
end catch
}
//
end copyFile
}
查看全文
相关阅读:
IOS cocos2d笔记1
[转] 函数调用的栈分配
iOS 静态类库项目的建立与使用
Brew 编译mod错误Error: L6265E: Non-RWPI Section libspace.o(.bss) cannot be assigned to PI Exec region ER_ZI
[LeetCode]7、Reverse Integer
[LeetCode]1、Two Sum
java学习路线和知识图谱
《Java编程思想》第十一章 持有对象
《Java编程思想》第十章 内部类
《Java编程思想》第十三章 字符串
原文地址:https://www.cnblogs.com/pricks/p/1601159.html
最新文章
windowsService 程序
CTE With as 递归调用
公用表表达式(CTE) with as 片段
WebAPI实例
触发器
php 二维数组 根据某个字段排序
ie下div兼容圆角
css overflow和border-radius一起用 解决圆角和滚动条一起用的问题
php发送post请求的三种方法
php如何修改SESSION的生存时间
热门文章
为Sublime Text 2添加插入当前时间的命令
PHP的"::"、"->"和"=>"的区别
php判断数组中是否存在指定键(key)的方法
php常用自定义函数
Windows2008防火墙怎么设置端口例外,服务器配置mysql如何开放远程访问
CURL使用
AI 状态机
AI 行为树
C#进程启动程序,并禁止原窗口操作
游戏编辑工具
Copyright © 2011-2022 走看看