`
jiale.wang
  • 浏览: 41828 次
  • 性别: Icon_minigender_1
  • 来自: 南京
文章分类
社区版块
存档分类
最新评论

java 文件/文件夹操作指南

阅读更多

列举了一些这个项目中用到的文件/文件夹操作的函数,以备后用。

/**
 * 计算文件夹大小
 */
public static final long getDirectorySize( File dir ) {
    long retSize = 0;
    if ( ( dir == null ) || !dir.isDirectory() ) {
        return retSize;
    }
    File[] entries = dir.listFiles();
    int count = entries.length;
    for ( int i = 0; i < count; i++ ) {
        if ( entries[ i ].isDirectory() ) {
            retSize += getDirectorySize( entries[ i ] );
        } else {
            retSize += entries[ i ].length();
        }
    }
    return retSize;
}  

/**
 * 删除文件夹
 */
public static final boolean deleteDirectory( File dir ) {
    boolean bRet = false;
    if ( dir !=null && dir.isDirectory() ) {
        File[] entries = dir.listFiles();
        int sz = entries.length;
        for ( int i = 0; i < sz; i++ ) {
            if ( entries[ i ].isDirectory() ) {
                deleteDirectory( entries[ i ] );
            } else {
                entries[ i ].delete();
            }
        }
        dir.delete();
        bRet = true;
    }
    return bRet;
}

/**
 * 新建文件夹
 */
public static final void createDirectory( String strDir ) {
    File file = new File( strDir );
    if ( !file.isDirectory() ) {
        file.mkdir();
    }
}

/**
 * 移动文件
 */
public static final void moveFile( String strOriginal, String strDest ) throws IOException {
    try {
        File fileOriginal = new File( strOriginal );
        File fileDest = new File( strDest );
        fileOriginal.renameTo( fileDest );
    } catch ( IOException e ) {
        throw new IOException("");
    }
}

/**
 * 复制文件
 */
public static final void copyFile( String strOriginal, String strDest ) throws IOException{
    try {
        File fileOriginal = new File( strOriginal );
        File fileDest = new File( strDest );
        FileInputStream fis = new FileInputStream( fileOriginal );
        FileOutputStream fos = new FileOutputStream( fileDest );
        byte[] bytes = new byte[ 1024 ];
        int c;
        while ( ( c = fis.read( bytes ) ) != -1 ) {
            fos.write( bytes, 0, c );
        }
        fis.close();
        fos.close();
    } catch ( IOException e ) {
        throw new IOException("");
    }
}
   
/**
 * 复制文件夹
 */
public static final boolean copyDirectory( String strOriginal, String  strDest ) throws Exception {
    boolean bRet = false;
    File dirOriginal = new File( strOriginal );
    if ( dirOriginal !=null && dirOriginal.isDirectory() ) {
        createDirectory( strDest );
        File dirDest = new File( strDest );
        File[] entries = dirOriginal.listFiles();
        int sz = entries.length;
        for ( int i = 0; i < sz; i++ ) {
            StringBuffer sbDest = new StringBuffer();
            sbDest.append( dirDest.getPath() );
            sbDest.append( "\" );
            sbDest.append( entries[ i ].getName() );
            if ( entries[ i ].isDirectory() ) {
                strDest = dirDest.getPath() + "\" + entries[ i ].getName();
                copyDirectory( entries[ i ].getPath(), sbDest.toString() );
            } else {
                copyFile( entries[ i ].getPath(), sbDest.toString() );
            }
        }
        bRet = true;
    }
    return bRet;
}

/**
 * 读取文件
 */
private String readFile( File file ) {
    String text= "";
    if ( file.exists() ) {
        Reader reader = null;
        try {
            char[] tempchars = new char[1024];
            int charread = 0;
            reader = new InputStreamReader( new FileInputStream( file ), "UTF-8" );
            while ( ( charread = reader.read( tempchars ) ) != -1 ) {
                for ( int i = 0; i < charread; i++ ) {
                    if ( tempchars[i] == '\r' ) {
                        continue;
                    } else {
                        text += tempchars[i];
                    }
                }
            }
            reader.close();
        } catch ( IOException e ) {
            throw new IOException("");
        }
    }
    return text;
}

/**
 * 写入文件
 */
private boolean writeFile( File file, String text ) {
    try {
        Writer writer = new OutputStreamWriter( new FileOutputStream( file ), "UTF-8" );
        writer.write( text );
        writer.close();
        return true;
    } catch ( IOException e ) {
        return false;
    }
}

/**
 * 文件夹中的文件按文件名排序(升序)
 */
File[]   files = ( new File( strPictureDirectory ) ).listFiles();
File temp;
for ( int i = 0; i < files.length; i++ ) {
    for ( int j = i; j < files.length; j++ ) {
        if ( files[i].getName().compareTo( files[j].getName() ) > 0 ) {
            temp = files[i];
            files[i] = files[j];
            files[j] = temp;
        }
    }
}

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/nataku/archive/2007/06/15/1653487.aspx

www.taobaowang-gw.com

分享到:
评论

相关推荐

    java文件和文件夹操作大全

    ### Java文件和文件夹操作大全:深度解析与实践指南 #### 一、创建文件夹与文件 在Java中,创建文件夹与文件是基础而重要的功能。通过`java.io.File`类,我们可以轻松实现这些操作。 **创建文件夹示例**: ```...

    java上传本地文件到oss指定目录

    总之,Java上传本地文件到阿里云OSS涉及到的知识点包括:阿里云OSS服务的使用、OSS Java SDK的集成、身份验证、文件上传操作、以及可能的高级特性如断点续传和元数据管理。通过合理利用这些知识,开发者可以构建出...

    基于Java Swing 的带有文件上传和下载的聊天室

    【Java Swing 文件上传和下载聊天室】是一个使用Java Swing库构建的本地客户端-服务器应用程序,它允许用户进行实时聊天并交换文件。这个项目的核心技术包括Java的网络编程、图形用户界面设计以及文件处理。 首先,...

    安卓SD卡文件管理更新信息相关-文件管理器项目支持文件创建文件夹创建文件删除移动复制等功能还有方便方式全选等.rar

    在安卓系统中,文件管理器是一个至关重要的应用,它允许用户直观地查看、操作和管理存储在设备上的文件和文件夹。本项目聚焦于SD卡的文件管理,提供了丰富的功能,如文件创建、文件夹创建、文件删除、移动、复制等,...

    Java 2应用开发指南

    "CODE" 文件夹很显然是存放源代码的地方,其中可能包含了各种类型的Java源文件(.java),以及其他的项目资源文件。读者可以在这里找到与书中各个章节对应的代码示例,通过查看和运行这些代码,可以学习到如何在实际...

    java FTP 上传 下载 (中文 ) 文件

    这篇博客"java FTP 上传 下载 (中文) 文件"提供了关于如何在Java中实现FTP操作的中文指南。在Java中,我们可以使用`java.net.Socket`和低级别的FTP命令来实现这一功能,但更常见的是使用Apache的Commons Net库,...

    Linux下JAVA-HOME配置指南.pptx.pptx

    具体操作包括打开文件,例如使用`sudo nano /etc/environment`,然后在文件末尾添加一行,形如`JAVA_HOME=/usr/lib/jvm/java-版本号`,确保路径与实际JDK安装位置一致。保存更改后,需要使新配置生效,可以使用`...

    Java实用系统开发指南_源代码(全部章节)

    《Java实用系统开发指南》彭晨阳 编著 目录摘要 第一章 高性能聊天系统 第二章 简单的用户注册系统 第三章 Jive论坛系统 第四章 网站内容管理系统 第五章 订阅信息系统 第六章 用户安全管理系统 第七章 EJB方法调用...

    SAKAI 安裝報告

    - 使用root用户权限编辑`/etc/profile.d/java.sh`文件。 2. **配置环境变量**: - 在文件中添加必要的环境变量配置信息。 通过这些步骤,完成了环境变量的配置。 #### 三、数据库环境配置 最后一步是配置MySQL...

    Java2WSDL和WSDL2Java操作指南

    ### Java2WSDL和WSDL2Java操作指南 #### 一、引言 在Web服务领域,Java2WSDL 和 WSDL2Java 是两个非常重要的工具,它们分别用于从Java类生成WSDL文件以及从WSDL文件生成Java类。本文将详细介绍这两个工具的使用...

    比较两个文件夹文件的不同.rar

    在编程中,我们可以使用各种语言(如Python、Java、C#)编写这样的工具,通过遍历文件夹、计算文件哈希值等方式来比较文件内容。如果这个是源代码,那么它将揭示具体的实现细节。 5. **文件哈希值**:在比较文件...

    基于Java实现的文件管理系统 + 数据库文件 + 前端页面

    简介 pfms,中文名称:私人文件管理系统 方便灵活、文件以及文件夹的管理、定时分享文件, 轻量级文件服务器,支持...## 使用指南 配置文件中以下两个参数标识管理员账号和密码: &gt; admin.uname=root admin.pwd=123

    linux常用命令大全

    系统服务管理:介绍了如何重启网络服务、查询Java安装路径、切换用户至root账户以及管理文件权限等基础操作。 内存与IP地址监控:提供了检查系统内存使用情况及获取设备IP地址的方法。 防火墙配置:详细讲解了启动、...

    Java doc编写指南(原创)

    2. 文档说明文件默认在 src/doc文件夹,文件名是 index.html,由myEclipse输出. 3.方法为myEclipse-&gt;file-&gt;export-&gt;javadoc-&gt;选择要输出的类文件,再选择protected(以便继承描述).其它默认. 4.在myEclipse里可以设置...

    标签库描述文件tld文件夹

    在Java服务器端开发中,尤其是使用JavaServer Pages (JSP) 和Servlet技术时,`TLD`(Tag Library Descriptor)文件扮演着至关重要的角色。`TLD`文件是标签库的元数据,它定义了自定义标签的行为、属性以及它们与Java...

    将JAVA文件做成EXE的.rar

    另一个文件“将JAVA文件做成EXE的.files”可能是一个文件夹,包含与转换过程相关的其他文件,比如配置文件、库文件或者是生成的临时或输出文件。这些文件对于理解转换过程和调试可能很有帮助。 总结来说,这个...

    CKFinder 文件管理器 for java.zip

    这个文件很可能包含了关于如何安装、配置和使用 CKFinder for Java 的详细指南,包括可能的安全注意事项、配置示例以及常见问题解答。 6. **132688860162278908** 这个文件名看起来不像标准的文本文件或资源文件...

    马里奥java实现文件

    在Java项目中,"Mario"可能是一个包含所有源代码、资源文件和配置的文件夹,其中可能有如"Mario.java"的主程序文件,它是游戏的入口点,控制游戏的启动和运行。其他可能的文件和子目录可能包括: - "src":存放源...

    java遍历properties文件操作指南

    以下是一个详细的步骤指南,教你如何在Java中遍历并操作Properties文件。 1. **导入必要的库** 在Java中处理Properties文件,需要导入`java.util.Properties`和`java.io.InputStream`库。这两个库包含了处理...

    文件备份记录工具.zip

    1. **使用说明.txt**:这通常是一个包含软件使用指南的文本文件,用户可以通过阅读它来了解如何安装、配置以及操作该备份工具。它可能涵盖了软件的基本功能、操作步骤、快捷键、注意事项等内容,是初学者快速上手的...

Global site tag (gtag.js) - Google Analytics