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;
}
}