雪山飛狐
雪山飛狐
BlogJava
首頁
新隨筆
聯(lián)系
聚合
管理
1 Posts :: 2 Stories :: 0 Comments :: 0 Trackbacks
常用鏈接
我的隨筆
我的評論
我的參與
留言簿
給我留言
查看公開留言
查看私人留言
隨筆分類
js
Struts2(1)
隨筆檔案
2010年4月 (1)
文章分類
java
Struts2
文章檔案
2010年4月 (2)
搜索
最新評論
Java對文件和文件夾的操作
/**
* 新建目錄
* @param folderPath 目錄
* @return 返回目錄創(chuàng)建后的路徑
*/
public
String createFolder(String folderPath){
String txt = folderPath;
File myFilePath =
new
File(txt);
txt = folderPath;
if
(!myFilePath.exists()){
myFilePath.mkdir();
}
return
txt;
}
/**
* 讀取文本文件內(nèi)容
* @param filePathAndName 帶有完整絕對路徑的文件名
* @param encoding 文本文件打開的編碼方式
* @return 返回文本文件的內(nèi)容
*/
public
String readTxt(String filePathAndName,String encoding){
encoding = encoding.trim();
StringBuffer str =
new
StringBuffer(
""
);
String st =
""
;
try
{
FileInputStream fs =
new
FileInputStream(filePathAndName);
InputStreamReader isr ;
if
(encoding.equals(
""
)){
isr =
new
InputStreamReader(fs);
}
else
{
isr =
new
InputStreamReader(fs,encoding);
}
BufferedReader br =
new
BufferedReader(isr);
String data =
""
;
while
((data = br.readLine())!=
null
){
str.append(data+
" "
);
}
st = str.toString();
}
catch
(FileNotFoundException e) {
e.printStackTrace();
}
catch
(UnsupportedEncodingException e) {
e.printStackTrace();
}
catch
(IOException e) {
e.printStackTrace();
}
return
st;
}
/**
* 刪除文件夾
* @param folderPath 文件夾完整絕對路徑
* @return
*/
public
void
delFolder(String folderPath) {
try
{
delAllFile(folderPath);
//刪除完里面所有內(nèi)容
String filePath = folderPath;
filePath = filePath.toString();
java
.io.File myFilePath =
new
java
.io.File(filePath);
myFilePath.delete();
//刪除空文件夾
}
catch
(Exception e) {
message = (
"刪除文件夾操作出錯"
);
}
}
多級目錄創(chuàng)建
/**
* 多 級目錄創(chuàng)建
* @param folderPath 準(zhǔn) 備要在本級目錄下創(chuàng)建新目錄的目錄路徑 例如 c:myf
* @param paths 無限級目錄參數(shù),各級目錄以單數(shù)線區(qū)分 例如 a|b|c
* @return 返回創(chuàng)建文件后的路徑 例如 c:myfac
*/
public
String createFolders(String folderPath,String paths){
String txts = folderPath;
String txt ;
//如果需要無限極創(chuàng)建目錄,以"|"分開 例"aa|bb|cc|"
StringTokenizer st =
new
StringTokenizer(paths,
"|"
);
for
(
int
i=
0
;st.hasMoreTokens();i++){
txt = st.nextToken().trim();
if
(txts.lastIndexOf(
"/"
)!= -
1
){
txts = createFolder(txts+txt);
}
else
{
txts = createFolder(txts+txt+
"/"
);
}
}
return
txts;
}
Java
代碼
/**
* 新 建文件
* @param filePathAndName 文 本文件完整絕對路徑及文件名
* @param fileContent 文 本文件內(nèi)容
* @return
*/
public
void
createFile(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);
myFile.close();
resultFile.close();
}
catch
(IOException e) {
}
}
/**
* 有編碼方式的文件創(chuàng)建
* @param filePathAndName 文本文件完整絕對路徑及文件名
* @param fileContent 文本文件內(nèi)容
* @param encoding 編碼方式 例如 GBK 或者 UTF-8
* @return
*/
public
void
createFile(String filePathAndName, String fileContent, String encoding) {
try
{
String filePath = filePathAndName;
filePath = filePath.toString();
File myFilePath =
new
File(filePath);
if
(!myFilePath.exists()) {
myFilePath.createNewFile();
}
PrintWriter myFile =
new
PrintWriter(myFilePath,encoding);
String strContent = fileContent;
myFile.println(strContent);
myFile.close();
}
catch
(Exception e) {
message =
"創(chuàng)建文件操作出錯"
;
}
}
/**
* 刪除文件
* @param filePathAndName 文本文件完整絕對路徑及文件名
* @return Boolean 成功刪除返回true遭遇異常返回false
*/
public
boolean
delFile(String filePathAndName) {
boolean
bea =
false
;
try
{
String filePath = filePathAndName;
File myDelFile =
new
File(filePath);
if
(myDelFile.exists()){
myDelFile.delete();
bea =
true
;
}
else
{
bea =
false
;
message = (filePathAndName+"
刪 除文件操作出錯");
}
}
catch
(Exception e) {
message = e.toString();
}
return
bea;
}
/**
* 刪除文件夾
* @param folderPath 文件夾完整絕對路徑
* @return
*/
public
void
delFolder(String folderPath) {
try
{
delAllFile(folderPath);
//刪除完里面所有內(nèi)容
String filePath = folderPath;
filePath = filePath.toString();
java
.io.File myFilePath =
new
java
.io.File(filePath);
myFilePath.delete();
//刪除空文件夾
}
catch
(Exception e) {
message = (
"刪除文件夾操作出錯"
);
}
}
/**
* 刪除指定文件夾下所有文件
* @param path 文件夾完整絕對路徑
* @return
* @return
*/
public
boolean
delAllFile(String path) {
boolean
bea =
false
;
File file =
new
File(path);
if
(!file.exists()) {
return
bea;
}
if
(!file.isDirectory()) {
return
bea;
}
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]);
//再刪除空文件夾
bea =
true
;
}
}
return
bea;
}
/**
* 復(fù)制單個文件
* @param oldPathFile 準(zhǔn)備復(fù)制的文件源
* @param newPathFile 拷貝到新絕對路徑帶文件名
* @return
*/
public
void
copyFile(String oldPathFile, String newPathFile) {
try
{
int
bytesum =
0
;
int
byteread =
0
;
File oldfile =
new
File(oldPathFile);
if
(oldfile.exists()) {
//文件存在時
InputStream inStream =
new
FileInputStream(oldPathFile);
//讀入原文件
FileOutputStream fs =
new
FileOutputStream(newPathFile);
byte
[] buffer =
new
byte
[
1444
];
while
((byteread = inStream.read(buffer)) != -
1
){
bytesum += byteread;
//字節(jié)數(shù) 文件大小
System.out.println(bytesum);
fs.write(buffer,
0
, byteread);
}
inStream.close();
}
}
catch
(Exception e) {
message = (
"復(fù)制單個文件操作出錯"
);
}
}
/**
* 復(fù)制整個文件夾的內(nèi)容
* @param oldPath 準(zhǔn)備拷貝的目錄
* @param newPath 指定絕對路徑的新目錄
* @return
*/
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) {
message =
"復(fù)制整個文件夾內(nèi)容操作出錯"
;
}
}
/**
* 移動文件
* @param oldPath
* @param newPath
* @return
*/
public
void
moveFile(String oldPath, String newPath) {
copyFile(oldPath, newPath);
delFile(oldPath);
}
/**
* 移動目錄
* @param oldPath
* @param newPath
* @return
*/
public
void
moveFolder(String oldPath, String newPath) {
copyFolder(oldPath, newPath);
delFolder(oldPath);
}
posted on 2010-04-20 19:47
犀利哥
閱讀(100)
評論(0)
編輯
收藏
新用戶注冊
刷新評論列表
只有注冊用戶
登錄
后才能發(fā)表評論。
網(wǎng)站導(dǎo)航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
Powered by:
BlogJava
Copyright © 犀利哥
主站蜘蛛池模板:
德州市
|
隆安县
|
武城县
|
丰县
|
四子王旗
|
太保市
|
漠河县
|
奇台县
|
新巴尔虎右旗
|
濉溪县
|
县级市
|
绥中县
|
鄂尔多斯市
|
金寨县
|
遂川县
|
桦甸市
|
应用必备
|
红桥区
|
小金县
|
措勤县
|
梁平县
|
永嘉县
|
永寿县
|
鹿邑县
|
彭阳县
|
垫江县
|
平乡县
|
广昌县
|
临夏市
|
汤原县
|
天门市
|
和静县
|
稷山县
|
弋阳县
|
翁源县
|
正安县
|
周至县
|
福贡县
|
阿坝
|
锦屏县
|
临桂县
|