当前位置 : IT培训网 > Java开发 > Java教程 > Java编程开发中文件与目录管理

Java编程开发中文件与目录管理

时间:2016-08-31 14:12:19  来源:Java培训网  作者:IT培训网  已有:名学员访问该课程
标签(Tag):   java(716)File(14)
每个 File 类对象表示一个磁盘文件或目录,其对象属性中包含了文件或目录的相关信息。通过调用 File 类提供的各种方法,能够创建、删除、重名名文件、判断文件的读写权限以及是否存在,设置和查询文件的最近修改时间等。不

在Java语言中,该如何管理文件与目录呢,做好这些有什么好处呢,其实文件和目录都是让我们简化工作,方便管理文件的一个有效方式,下面就让IT培训网小编来给大家详细介绍下如何实现Java中文件与目录的管理吧!

目录是管理文件的特殊机制,同类文件保存在同一个目录下不仅可以简化文件管理,而且还可以提高工作效率。Java 语言在 java.io 包中定义了一个 File 类专门用来管理磁盘文件和目录。

每个 File 类对象表示一个磁盘文件或目录,其对象属性中包含了文件或目录的相关信息。通过调用 File 类提供的各种方法,能够创建、删除、重名名文件、判断文件的读写权限以及是否存在,设置和查询文件的最近修改时间等。不同操作系统具有不同的文件系统组织方式,通过使用 File 类对象,Java 程序可以用与平台无关的、统一的方式来处理文件和目录。

创建 File 类的对象

创建 File 类对象需要给出其所对应的文件名或目录名,File 类的构造方法如表 10-9 所示。

表 10-9 File 类的构造方法

构造方法

功能描述

public File(String path)

指定与 File 对象关联的文件或目录名,path 可以包含路径及文件和目录名

public File(String path, String name)

以 path 为路径,以 name 为文件或目录名创建 File 对象

public File(File dir, String name)

用现有的 File 对象 dir 作为目录,以 name 作为文件或目录名创建 File 对象

public File(UR ui)

使用给定的统一资源定位符来定位文件

在使用 File 类的构造方法时,需要注意下面几点:

(1)path 参数可以是绝对路径,也可以是相对路径,也可以是磁盘上的某个目录。

( 2)由于不同操作系统使用的目录分隔符不同,可以使用 System 类的一个静态变量System.dirSep,来实现在不同操作系统下都通用的路径。如:

    "d:"+System.dirSep+"myjava"+System.dirSep+"file"

获取属性和操作

借助 File 对象,可以获取文件和相关目录的属性信息并可以对其进行管理和操作。表 10-10列出了其常用的方法及说明。

表 10-10 File 的常用方法

方法

功能描述

boolean canRead()

如果文件可读,返回真,否则返回假

boolean canWrite()

如果文件可写,返回真,否则返回假

boolean exists()

判断文件或目录是否存在

boolean createNewFile()

若文件不存在,则创建指定名字的空文件,并返回真,若不存在返回假

boolean isFile()

判断对象是否代表有效文件

boolean isDirectory()

判断对象是否代表有效目录

boolean equals(File f)

比较两个文件或目录是否相同

string getName()

返回文件名或目录名的字符串

string getPath()

返回文件或目录路径的字符串

long length()

返回文件的字节数,若 File 对象代表目录,则返回 0

long lastModified()

返回文件或目录最近一次修改的时间

String[] list()

将目录中所有文件名保存在字符串数组中并返回,若 File 对象不是目录返回 null

boolean delete()

删除文件或目录,必须是空目录才能删除,删除成功返回真,否则返回假

boolean mkdir()

创建当前目录的子目录,成功返回真,否则返回假

boolean renameTo(File newFile)

将文件重命名为指定的文件名

【例 10-11】判断输入的绝对路径是代表一个文件或一个目录。若是文件输出此文件的绝对路径,并判断此文件的文件属性(是否可读写或隐藏);若是目录则输出该目录下所有文件(不包括隐藏文件)(查看源代码)。

//********** ep10_11.java **********

import java.io.*;

class ep10_11{

    public static void main(String args[]) throws IOException{

        String FilePath;

        InputStreamReader in=new InputStreamReader(System.in);

        BufferedReader a=new BufferedReader(in);

        System.out.println("请输入一个绝对路径:");

        FilePath=a.readLine();  //将 FilePath 作为输入值

        File FileName=new File(FilePath);  //获得此路径的文件名称

        if (FileName.isDirectory()){  //判断此文件是否为目录

            System.out.println((FileName.getName())+"为一个目录");

            System.out.println("================");

            File FileList[]=FileName.listFiles();  //将目录下所有文件存入数组

            for(int i=0;i<FileList.length;i++){

                if(FileList[i].isHidden()==false){  //判断是否为隐藏文件

                    System.out.println(FileList[i].getName());  //输出非隐藏文件

                }

            }

        }

        else{

            System.out.println((FileName.getName())+"为一个文件");

            System.out.println("================");

            //获得文件绝对路径

            System.out.println("绝对路径为:"+FileName.getAbsolutePath());

            //判断此文件是否可读取

            System.out.println(FileName.canRead()?"可读取":"不可读取");

            //判断此文件是否可修改

            System.out.println(FileName.canWrite()?"可修改":"不可修改");

            //判断此文件是否为隐藏

            System.out.println(FileName.isHidden()?"为隐藏文件":"非隐藏文件");

        }

    }

}

运行结果如图 10-11 所示:

Java编程开发中文件与目录管理_www.itpxw.cn

图 10-11  输入一个文件路径后例 10_11 的运行结果

顶一下
(1)
100%
踩一下
(0)
0%
------分隔线----------------------------
------分隔线----------------------------
Java教程
1、Java 概述
1.1 Java语言概述
1.2 Java虚拟机以及跨平台原理
1.3 Java的主要就业方向
1.4 Java的不同版本
1.5 Java开发环境搭建
1.6 第一个Java程序示例
1.7 Java类和对象的概念
1.8 Java类库及其组织结构
1.9 Java import
2、Java 语法基础
2.1 Java数据类型以及变量的定义
2.2 Java数据类型转换
2.3 Java运算符
2.4 Java流程控制
2.5 Java数组的定义和使用
2.6 Java字符串(String)
2.7 Java StringBuffer与StringBuider
2.8 强调一下编程风格
3、Java 类与对象
3.1 Java类的定义及其实例化
3.2 Java访问修饰符
3.3 Java变量的作用域
3.4 Java this关键字详解
3.5 Java方法重载
3.6 Java类的基本运行顺序
3.7 Java包装类、拆箱和装箱详解
3.8 再谈Java包
3.9 源文件的声明规则
4、Java 继承和多态
4.1 继承的概念与实现
4.2 Java super关键字
4.3 继承中的方法的覆盖和重载
4.4 多态和动态绑定
4.5 instanceof 运算符
4.6 多态对象的类型转换
4.7 Java static关键字
4.8 Java final关键字
4.9 Java Object类
5、面向对象高级特性
5.1 Java内部类及其实例化
5.2 内部类的分类
5.3 抽象类的概念和使用
5.4 接口的概念和使用
5.5 接口和抽象类的区别
5.6 Java 泛型
5.7 泛型通配符和类型参数的范围
6、异常处理
6.1 异常处理基础
6.2 异常类型Java语言中常见的异常类型有哪些
6.3 未被捕获的异常
6.4 try和catch的使用
6.5 多重catch语句的使用
6.6 try语句的嵌套
6.7 throw:异常的抛出
6.8 throws子句
6.9 finally块
6.10 Java的内置异常
6.11 创建自己的异常子类
6.12 断言
7、线程编程
7.1 线程的概念
7.2 Java线程模型
7.3 主线程
7.4 创建线程
7.5 创建多线程
7.6 isAlive()和join()的使用
7.7 线程优先级
7.8 线程同步
7.9 线程间通信
7.10 线程死锁
7.11 线程的挂起、恢复和终止
8、输入输出(IO)操作
8.1 输入输出基本概念
8.2 面向字符的输入流
8.3 面向字符的输出流
8.4 面向字节的输入输出流
8.5 面向字节流的应用
8.6 文件与目录管理
8.7 文件的随机读写
8.8 文件的压缩处理
9、常用类库、向量与哈希
9.1 Java基础类库
9.2 Object类
9.3 Java语言包(java.lang)简介
9.4 日期和时间类
9.5 向量及其应用
9.6 哈希表及其应用
10、图形界面(GUI)设计
10.1 图形界面设计基础
10.2 框架窗口
10.3 标签、按钮和按钮事件
10.4 面板
10.5 布局设计
10.6 文本框和文本区
10.7 文本框和文本区的输入输出
10.8 选择框和单选按钮
10.9 列表和组合框
10.10 菜单
10.11 对话框
10.12 滚动条
10.13 鼠标事件
10.14 键盘事件
11、图形、图像与多媒体
11.1 绘图基础
11.2 设置字型和颜色
11.3 绘图模式
11.4 Graphics类的绘图方法
11.5 Graphics2D类的绘图方法
11.6 图像处理基础
11.7 图像缓冲技术
11.8 多媒体基础
12、网络与数据库编程
12.1 IP地址和InetAddress类
12.2 统一资源定位符
12.3 套接字(Socket)
12.4 数据库连接
12.5 几个重要的类和接口
12.6 数据库查询
12.7 数据库更新
12.8 插入记录
12.9 修改记录
12.10 删除记录