现在的位置: 首页 > 综合 > 正文

java 文件 目录和文件的新建、删除、复制、剪切

2013年07月22日 ⁄ 综合 ⁄ 共 5364字 ⁄ 字号 评论关闭
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;  

抱歉!评论已关闭.