- /**
- * 新建目錄
- * @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 帶有完整絕對(duì)路徑的文件名
- * @param encoding 文本文件打開(kāi)的編碼方式
- * @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 文件夾完整絕對(duì)路徑
- * @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 = ("刪除文件夾操作出錯(cuò)");
- }
- }
多級(jí)目錄創(chuàng)建
- /**
- * 多 級(jí)目錄創(chuàng)建
- * @param folderPath 準(zhǔn) 備要在本級(jí)目錄下創(chuàng)建新目錄的目錄路徑 例如 c:myf
- * @param paths 無(wú)限級(jí)目錄參數(shù),各級(jí)目錄以單數(shù)線區(qū)分 例如 a|b|c
- * @return 返回創(chuàng)建文件后的路徑 例如 c:myfac
- */
- public String createFolders(String folderPath,String paths){
- String txts = folderPath;
- String txt ;
- //如果需要無(wú)限極創(chuàng)建目錄,以"|"分開(kāi) 例"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;
- }
- /**
- * 新 建文件
- * @param filePathAndName 文 本文件完整絕對(duì)路徑及文件名
- * @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 文本文件完整絕對(duì)路徑及文件名
- * @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)建文件操作出錯(cuò)";
- }
- }
- /**
- * 刪除文件
- * @param filePathAndName 文本文件完整絕對(duì)路徑及文件名
- * @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+"
- 刪 除文件操作出錯(cuò)");
- }
- }
- catch (Exception e) {
- message = e.toString();
- }
- return bea;
- }
- /**
- * 刪除文件夾
- * @param folderPath 文件夾完整絕對(duì)路徑
- * @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 = ("刪除文件夾操作出錯(cuò)");
- }
- }
- /**
- * 刪除指定文件夾下所有文件
- * @param path 文件夾完整絕對(duì)路徑
- * @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ù)制單個(gè)文件
- * @param oldPathFile 準(zhǔn)備復(fù)制的文件源
- * @param newPathFile 拷貝到新絕對(duì)路徑帶文件名
- * @return
- */
- public void copyFile(String oldPathFile, String newPathFile) {
- try {
- int bytesum = 0;
- int byteread = 0;
- File oldfile = new File(oldPathFile);
- if (oldfile.exists()) { //文件存在時(shí)
- 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ù)制單個(gè)文件操作出錯(cuò)");
- }
- }
- /**
- * 復(fù)制整個(gè)文件夾的內(nèi)容
- * @param oldPath 準(zhǔn)備拷貝的目錄
- * @param newPath 指定絕對(duì)路徑的新目錄
- * @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ù)制整個(gè)文件夾內(nèi)容操作出錯(cuò)";
- }
- }
- /**
- * 移動(dòng)文件
- * @param oldPath
- * @param newPath
- * @return
- */
- public void moveFile(String oldPath, String newPath) {
- copyFile(oldPath, newPath);
- delFile(oldPath);
- }
- /**
- * 移動(dòng)目錄
- * @param oldPath
- * @param newPath
- * @return
- */
- public void moveFolder(String oldPath, String newPath) {
- copyFolder(oldPath, newPath);
- delFolder(oldPath);
- }