`

JAVA对文件操作常用方法

阅读更多
public class FileOperate {   
    public FileOperate() {   
    }   
  
    /**  
     * 新建目录  
     *   
     * @param folderPath  
     *            String 如 c:/fqf  
     * @return boolean  
     */  
    public boolean newFolder(String folderPath) {   
        boolean iSucess = false;   
        try {   
            String filePath = folderPath;   
            filePath = filePath.toString();   
            File myFilePath = new File(filePath);   
            if (!myFilePath.exists()) {   
                if (myFilePath.mkdir())   
                    iSucess = true;   
            }   
        } catch (Exception e) {   
            System.out.println("新建目录操作出错");   
            e.printStackTrace();   
        }   
        return iSucess;   
    }   
  
    /**  
     * 新建文件  
     *   
     * @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();   
            File myDelFile = new 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();   
            File myFilePath = new 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;   
            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) {   
            System.out.println("复制整个文件夹内容操作出错");   
            e.printStackTrace();   
  
        }   
  
    }   
  
    public List<String> GetListFileName(String path){      
           
        File parentFile=new File(path);    
           
        File[] childrenFile=parentFile.listFiles();    
           
        ArrayList<String> txtFile=new ArrayList<String>();   
           
        if(childrenFile!=null&&childrenFile.length>0){     
               
                for(int   i=0;i<childrenFile.length;i++){     
                        if(childrenFile[i].getName().endsWith(".txt") || childrenFile[i].getName().endsWith(".min") )      
                                txtFile.add(childrenFile[i].toString());        
                }      
        }      
        return txtFile;      
      }    
       
    /**  
     * 读取目录下的文件列表中的内容  
     *   
     * @param fileList 例如:C:/IP下的所有.TXT  
     * @return   
     */  
    public List<String> ReadFileList(List<String> fileList)   
    {   
        int count = 0 ;   
        List<String> listContent = new ArrayList<String>();   
  
        for(String file : fileList)   
        {   
            count ++;   
            try {   
                   
                 FileReader read = new FileReader(new File(file));   
                 StringBuffer sb = new StringBuffer();   
                 char ch[] = new char[1024*1024];   
                 int d = read.read(ch);   
                    
                 while(d!=-1){   
                    String str = new String(ch,0,d);   
                    sb.append(str);   
                    d = read.read(ch);   
                    System.out.println(sb);   
                    listContent.add(sb.toString());   
                  }   
             } catch (FileNotFoundException e) {   
                  e.printStackTrace();   
             } catch (IOException e) {   
                e.printStackTrace();   
             }   
        }   
        return listContent;   
    }   
    /**  
     * 移动文件到指定目录  
     *   
     * @param oldPath  
     *            String 如:c:/fqf.txt  
     * @param newPath  
     *            String 如:d:/fqf.txt  
     */  
    public void moveFile(String oldPath, String newPath) {   
        copyFile(oldPath, newPath);   
        delFile(oldPath);   
  
    }   
  
    /**  
     * 移动文件到指定目录  
     *   
     * @param oldPath  
     *            String 如:c:/fqf.txt  
     * @param newPath  
     *            String 如:d:/fqf.txt  
     */  
    public void moveFolder(String oldPath, String newPath) {   
        copyFolder(oldPath, newPath);   
        //delFolder(oldPath);   
  
    }   
  
    public static void main(String[] args) {   
        FileOperate oper = new FileOperate();   
        oper.moveFolder("E:/IP", "E:/Oracle10G/周宇/ipconfig");   
    }   
}  

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/xiaoyu411502/archive/2009/08/30/4496506.aspx

 

分享到:
评论

相关推荐

    基于JAVA的常用文件操作方法

    在提供的`FileUtil.java`文件中,可能包含了上述某些或全部的文件操作方法,具体实现需要查看源码才能得知。对于实际项目开发,编写一个`FileUtil`工具类是非常常见的做法,这样可以将文件操作封装起来,便于代码的...

    java实现文件的读写操作

    在Java编程语言中,文件的读写操作是日常开发中不可或缺的部分。...通过上述介绍和示例,你应该对Java的文件操作有了基本的认识。实践中,你可以根据具体需求选择合适的方法和类,实现灵活多样的文件处理功能。

    java基本的文件操作

    以下是对“Java基本的文件操作”这一主题的详细解析,包括了新建目录、新建文件、删除文件和删除文件夹等关键知识点。 ### 一、新建目录 在Java中,我们可以使用`java.io.File`类来创建新的目录。具体实现方法如下...

    JAVA 文件常用流操作.zip

    在Java编程语言中,文件操作是一项基础且重要的任务。这个名为"JAVA 文件常用流操作.zip"的压缩包可能包含了各种关于Java中文件流使用的示例和教程。让我们深入探讨一下Java中的文件流操作。 首先,Java中的文件...

    java写入文件操作的几种方法

    Java 写入文件操作的几种方法 Java 语言中提供了多种写入文件的方法,每种方法都有其特点和应用场景,本文将详细介绍 Java 中写入文件的几种不同方法,供读者根据实际需求选择合适的方法。 FileWriter 写入文件 ...

    java文件操作大全

    Java文件操作是编程中不可或缺的一部分,它涉及到对磁盘上文件和目录的创建、删除、读取和修改等操作。以下是对标题和描述中提到的知识点的详细解释: 1. **创建文件夹**:在Java中,我们可以使用`java.io.File`类...

    java文件操作

    以下是对Java文件操作的详尽解析: 首先,Java提供了`java.io`包,其中包含了一系列类和接口用于处理文件和流。最常用的类包括`File`、`BufferedReader`、`BufferedWriter`、`FileInputStream`、`FileOutputStream`...

    java 文件操作类

    本文将深入探讨`File`类以及相关的实用方法,帮助你更好地理解和运用Java进行文件操作。 1. **File类的基本概念** `File`类是Java中的一个核心类,它代表了文件和目录路径名的抽象表示。通过`File`对象,我们可以...

    java应用ftp操作文件

    Java FTP操作文件主要涉及到Java对FTP(File Transfer Protocol)协议的支持,这通常通过第三方库来增强Java标准库的功能。在给定的描述中,开发者提到遇到了Java标准库在不同版本间实现差异的问题,因此选择了...

    用java通过文件操作实现最短路径问题

    本程序以Java为编程语言,利用文件操作来解决这个问题,实现了从输入文件读取数据并把计算结果保存到输出文件的功能。下面我们将详细讨论如何在Java中通过文件操作来解决最短路径问题。 首先,我们需要了解最短路径...

    Java实现解析dcm医学影像文件并提取文件信息的方法示例

    本文主要介绍了Java实现解析dcm医学影像文件并提取文件信息的方法,结合实例形式分析了Java基于第三方库文件针对dcm医学影像文件的解析操作相关实现技巧。下面将详细介绍该方法的实现步骤和相关知识点。 一、安装...

    Java实现多个wav文件合成一个的方法示例

    Java实现多个wav文件合成一个的方法示例 本文介绍了Java实现多个wav文件合成一个的方法,...本文介绍了Java实现多个wav文件合成一个的方法,涉及java文件流读写、编码转换、解析等相关操作技巧,希望对大家有所帮助。

    使用Java实现对dbf文件的简单读写

    使用 Java 实现对 dbf 文件的简单读写 Java 是一种广泛使用的编程语言,对于读写 dbf 文件具有重要的应用价值。本文将介绍使用 Java 实现对 dbf 文件的简单读写,包括读写 dbf 文件的基本步骤、相关类的介绍、代码...

    JAVA实现文件操作(删除,创建,写入,读取)

    在Java编程语言中,文件操作是...综上所述,Java提供了强大的文件操作能力,通过`java.io`包中的类和方法,开发者可以轻松地对文件进行各种操作。在实际编程中,结合J2SE的特性,可以编写出高效、稳定的文件处理程序。

    java程序各种常用方法集锦

    在Java编程语言中,开发者经常会遇到各种...以上只是部分知识点,实际的"java常用代码方法"文件中可能包含更多实用技巧和示例。通过学习和实践这些方法,开发者能够更好地应对日常开发中的挑战,提高代码质量和效率。

    Java流(文件读写操作)

    ### Java流(文件读写操作) #### 一、流的分类 Java中处理文件和数据时,使用流的概念来进行操作。根据不同的标准,流可以分为几种类型。 ##### 1. 按数据流动方向 - **输入流**:主要用于从数据源读取数据。输入...

    java处理文件常用操作

    在Java后端中处理文件通常涉及到文件的读取、写入、删除以及可能的文件流处理等操作。

    自己写的java中文件的操作工具类,包括对目录的管理

    在Java编程语言中,文件操作是程序开发中的基础部分,特别是在处理数据存储、读取、备份和文件系统交互时。这个“自己写的java中文件的操作工具类”显然提供了一种自定义的方式来管理和操作文件及目录。下面将详细...

    JAVA处理日期时间常用方法

    首先,`java.util.Calendar`是一个抽象类,它提供了对日期和时间的高级操作。例如,你可以创建一个新的Calendar实例来获取当前的日期和时间,如`Calendar.getInstance()`。然后,你可以通过`add()`方法来增加或减少...

Global site tag (gtag.js) - Google Analytics