天天看点

java 目录文件 的类_JAVA文件操作类和文件夹的操作

packagecom.gamvan.tools;importjava.io.BufferedReader;importjava.io.File;importjava.io.FileInputStream;importjava.io.FileOutputStream;importjava.io.FileWriter;importjava.io.IOException;importjava.io.InputStream;importjava.io.InputStreamReader;importjava.io.PrintWriter;importjava.util.StringTokenizer;publicclassFileOperate {privateString message;publicFileOperate() {

}publicString readTxt(String filePathAndName,String encoding)throwsIOException{

encoding=encoding.trim();

StringBuffer str=newStringBuffer("");

String st="";try{

FileInputStream fs=newFileInputStream(filePathAndName);

InputStreamReader isr;if(encoding.equals("")){

isr=newInputStreamReader(fs);

}else{

isr=newInputStreamReader(fs,encoding);

}

BufferedReader br=newBufferedReader(isr);try{

String data="";while((data=br.readLine())!=null){

str.append(data+"");

}

}catch(Exception e){

str.append(e.toString());

}

st=str.toString();

}catch(IOException es){

st="";

}returnst;

}publicString createFolder(String folderPath) {

String txt=folderPath;try{

java.io.File myFilePath=newjava.io.File(txt);

txt=folderPath;if(!myFilePath.exists()) {

myFilePath.mkdir();

}

}catch(Exception e) {

message="创建目录操作出错";

}returntxt;

}publicString createFolders(String folderPath, String paths){

String txts=folderPath;try{

String txt;

txts=folderPath;

StringTokenizer st=newStringTokenizer(paths,"|");for(inti=0; st.hasMoreTokens(); i++){

txt=st.nextToken().trim();if(txts.lastIndexOf("/")!=-1){

txts=createFolder(txts+txt);

}else{

txts=createFolder(txts+txt+"/");

}

}

}catch(Exception e){

message="创建目录操作出错!";

}returntxts;

}publicvoidcreateFile(String filePathAndName, String fileContent) {try{

String filePath=filePathAndName;

filePath=filePath.toString();

File myFilePath=newFile(filePath);if(!myFilePath.exists()) {

myFilePath.createNewFile();

}

FileWriter resultFile=newFileWriter(myFilePath);

PrintWriter myFile=newPrintWriter(resultFile);

String strContent=fileContent;

myFile.println(strContent);

myFile.close();

resultFile.close();

}catch(Exception e) {

message="创建文件操作出错";

}

}publicvoidcreateFile(String filePathAndName, String fileContent, String encoding) {try{

String filePath=filePathAndName;

filePath=filePath.toString();

File myFilePath=newFile(filePath);if(!myFilePath.exists()) {

myFilePath.createNewFile();

}

PrintWriter myFile=newPrintWriter(myFilePath,encoding);

String strContent=fileContent;

myFile.println(strContent);

myFile.close();

}catch(Exception e) {

message="创建文件操作出错";

}

}publicbooleandelFile(String filePathAndName) {booleanbea=false;try{

String filePath=filePathAndName;

File myDelFile=newFile(filePath);if(myDelFile.exists()){

myDelFile.delete();

bea=true;

}else{

bea=false;

message=(filePathAndName+"删除文件操作出错");}

}catch(Exception e) {

message=e.toString();

}returnbea;

}publicvoiddelFolder(String folderPath) {try{

delAllFile(folderPath);//删除完里面所有内容String filePath=folderPath;

filePath=filePath.toString();

java.io.File myFilePath=newjava.io.File(filePath);

myFilePath.delete();//删除空文件夹}catch(Exception e) {

message=("删除文件夹操作出错");

}

}publicbooleandelAllFile(String path) {booleanbea=false;

File file=newFile(path);if(!file.exists()) {returnbea;

}if(!file.isDirectory()) {returnbea;

}

String[] tempList=file.list();

File temp=null;for(inti=0; i

temp=newFile(path+tempList[i]);

}else{

temp=newFile(path+File.separator+tempList[i]);

}if(temp.isFile()) {

temp.delete();

}if(temp.isDirectory()) {

delAllFile(path+"/"+tempList[i]);//先删除文件夹里面的文件delFolder(path+"/"+tempList[i]);//再删除空文件夹bea=true;

}

}returnbea;

}publicvoidcopyFile(String oldPathFile, String newPathFile) {try{intbytesum=0;intbyteread=0;

File oldfile=newFile(oldPathFile);if(oldfile.exists()) {//文件存在时InputStream inStream=newFileInputStream(oldPathFile);//读入原文件FileOutputStream fs=newFileOutputStream(newPathFile);byte[] buffer=newbyte[1444];while((byteread=inStream.read(buffer))!=-1){

bytesum+=byteread;//字节数 文件大小System.out.println(bytesum);

fs.write(buffer,0, byteread);

}

inStream.close();

}

}catch(Exception e) {

message=("复制单个文件操作出错");

}

}publicvoidcopyFolder(String oldPath, String newPath) {try{newFile(newPath).mkdirs();//如果文件夹不存在 则建立新文件夹File a=newFile(oldPath);

String[] file=a.list();

File temp=null;for(inti=0; i

temp=newFile(oldPath+file[i]);

}else{

temp=newFile(oldPath+File.separator+file[i]);

}if(temp.isFile()){

FileInputStream input=newFileInputStream(temp);

FileOutputStream output=newFileOutputStream(newPath+"/"+(temp.getName()).toString());byte[] b=newbyte[1024*5];intlen;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="复制整个文件夹内容操作出错";

}

}publicvoidmoveFile(String oldPath, String newPath) {

copyFile(oldPath, newPath);

delFile(oldPath);

}publicvoidmoveFolder(String oldPath, String newPath) {

copyFolder(oldPath, newPath);

delFolder(oldPath);

}publicString getMessage(){returnthis.message;

}

}