<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    原文:http://www.x-beta.cn/programme/JAVA-File-Folder-Operation-0793.html

    JAVA文件操作類和文件夾的操作代碼實例,包括讀取文本文件內容, 新建目錄,多級目錄創建,新建文件,有編碼方式的文件創建, 刪除文件,刪除文件夾,刪除指定文件夾下所有文件, 復制單個文件,復制整個文件夾的內容,移動文件,移動目錄等。。。非常不錯的喲!

    package com.gamvan.tools;
    import java.io.BufferedReader;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.FileWriter;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.io.PrintWriter;
    import java.util.StringTokenizer;
    public class FileOperate {
    private String message;
    public FileOperate() {
    }
    /**
    * 讀取文本文件內容
    *
    @param filePathAndName 帶有完整絕對路徑的文件名
    *
    @param encoding 文本文件打開的編碼方式
    *
    @return 返回文本文件的內容
    */
    public String readTxt(String filePathAndName,String encoding) throws IOException{
    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);
    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
    = "";
    }
    return st;
    }

    /**
    * 新建目錄
    *
    @param folderPath 目錄
    *
    @return 返回目錄創建后的路徑
    */
    public String createFolder(String folderPath) {
    String txt
    = folderPath;
    try {
    java.io.File myFilePath
    = new java.io.File(txt);
    txt
    = folderPath;
    if (!myFilePath.exists()) {
    myFilePath.mkdir();
    }
    }
    catch (Exception e) {
    message
    = "創建目錄操作出錯";
    }
    return txt;
    }

    /**
    * 多級目錄創建
    *
    @param folderPath 準備要在本級目錄下創建新目錄的目錄路徑 例如 c:myf
    *
    @param paths 無限級目錄參數,各級目錄以單數線區分 例如 a|b|c
    *
    @return 返回創建文件后的路徑 例如 c:myfac
    */
    public String createFolders(String folderPath, String paths){
    String txts
    = folderPath;
    try{
    String txt;
    txts
    = folderPath;
    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+"/");
    }
    }
    }
    catch(Exception e){
    message
    = "創建目錄操作出錯!";
    }
    return txts;
    }


    /**
    * 新建文件
    *
    @param filePathAndName 文本文件完整絕對路徑及文件名
    *
    @param fileContent 文本文件內容
    *
    @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 (Exception e) {
    message
    = "創建文件操作出錯";
    }
    }


    /**
    * 有編碼方式的文件創建
    *
    @param filePathAndName 文本文件完整絕對路徑及文件名
    *
    @param fileContent 文本文件內容
    *
    @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
    = "創建文件操作出錯";
    }
    }


    /**
    * 刪除文件
    *
    @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);
    //刪除完里面所有內容
    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;
    }


    /**
    * 復制單個文件
    *
    @param oldPathFile 準備復制的文件源
    *
    @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; //字節數 文件大小
    System.out.println(bytesum);
    fs.write(buffer,
    0, byteread);
    }
    inStream.close();
    }
    }
    catch (Exception e) {
    message
    = ("復制單個文件操作出錯");
    }
    }


    /**
    * 復制整個文件夾的內容
    *
    @param oldPath 準備拷貝的目錄
    *
    @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
    = "復制整個文件夾內容操作出錯";
    }
    }


    /**
    * 移動文件
    *
    @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);
    }
    public String getMessage(){
    return this.message;
    }
    }

    posted on 2008-05-09 14:05 湘江夜游神 閱讀(207) 評論(0)  編輯  收藏 所屬分類: JAVA生活

    Locations of visitors to this page

    主站蜘蛛池模板: 亚洲福利视频一区二区| 亚洲午夜精品一区二区公牛电影院| 亚洲区精品久久一区二区三区| 国产成人精品无码免费看| 久久久久亚洲精品无码网址| 亚洲一区二区三区四区在线观看 | 久久精品国产亚洲一区二区| 一级做α爱过程免费视频| 国产日韩成人亚洲丁香婷婷| 一本一道dvd在线观看免费视频 | 免费萌白酱国产一区二区| 亚洲色图国产精品| 在线观看亚洲专区| 亚洲黄色免费在线观看| 91久久亚洲国产成人精品性色 | 日本特黄特黄刺激大片免费| 亚洲精品无码mⅴ在线观看| 曰韩无码AV片免费播放不卡| 国产一卡二卡3卡四卡免费| 亚洲成A人片在线播放器| 好爽好紧好大的免费视频国产| 国产精品自拍亚洲| 亚洲色精品vr一区二区三区| 国产亚洲精品美女久久久久| 亚洲精品无码专区2| 久久精品视频免费播放| 亚洲小说图片视频| 国产精品免费小视频| 国产精品美女久久久免费| 亚洲国产成人久久一区WWW| 国产精品免费久久| 亚洲电影免费观看| 国产青草视频在线观看免费影院| eeuss免费天堂影院| 亚洲日本国产精华液| 国产又黄又爽又猛的免费视频播放 | 亚洲综合另类小说色区色噜噜| 国产精品免费大片| 亚洲欧洲日产国码久在线| 成人亚洲性情网站WWW在线观看 | 久热免费在线视频|