`

Java中File类重点剖析

    博客分类:
  • Java
阅读更多
Java的File类是一个用于进行文件操作的类。

File位于Java的java.io包下,我们可以通过它来进行诸如文件的创建,删除,以及对文件的判断等。

通常我们所说的文件基本分为三种:
文件,文件夹,内存虚拟文件

我们在Java中一般只是讨论前面两类,不涉及虚拟的内存文件。

File类里面我们一般要使用的就是一些重要的重要的构造器和方法,

我们创建一个File类的实例,其初始化值就意味着加载待处理的相应文件(或目录)。

方法中我们用到最多的一般有:
boolean exist()
boolean isDictionary()
boolean isFile()
long length()
File[] listFIles()
他们都是一般的方法使用
下面我举一个例子:
我们可以使用File类来创建目录,创建目录有两个方法:
1. objDir.mkDir(); 返回一个boolean表示创建成功与否,只能在已有目录下创建(子目录)

2. objDir.mkDirs();返回一个boolean表示创建成功与否,即使父目录不存在也能够创建。例如:当 File objDir = new File(“ hehe/dir ”); 表示在当前相对目录下再创建两级目录hehe/dir,这时使用mkDirs()方法才行,而mkDir()方法失败。注意:如果new File(“/hehe/dir”);表示从当前盘符的根目录(D:/)创建,由于这个根目录总是存在的,所以mkDir()方法也能创建成功,却往往不是我们所要的结果。

创建了目录就可以创建文件了,如果在不存在的目录下创建文件会抛出异常。

objFile. createNewFile ();返回一个boolean表示创建成功与否,这样就创建了一个空文件:D:/XP/test/filename.txt

下面可以查看文件的名称、大小、路径、父目录、可读可写状态、判断文件是否存在、是否是一个目录或是文件、获取文件最后修改的时间、修改文件名,删除文件或目录等。

方法名如下:

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

System.out.println("相对路径:" + objFile.getPath());

System.out.println("父目录:" + objFile.getParent());

System.out.println("是否可读:" + objFile.canRead());

System.out.println("是否可写:" + objFile.canWrite());

System.out.println("文件长度:" + objFile.length());

//要使用文件所在的目录来取里面的list,再通过循环来进行处理

System.out.println("所在目录文件列表:" + (int) (objDir.list().length));

System.out.println("文件名:" + objFile.getName());

System.out.println("文件存在否:" + objFile.exists());

System.out.println("文件删除成功否:" + objFile.delete());

注:要删除一个目录objDir.delete();必须要目录为空才行,如果目录不为空,可以使用objDir.list()获取当前目录下的文件列表String[],循环将其中的文件删除后继而删除目录
0
3
分享到:
评论

相关推荐

    java上传并读取excel工具类

    在Java编程中,处理Excel文件是一项常见的任务,特别是在数据导入导出、数据分析或者报表生成等场景。本篇文章将深入探讨如何使用Java实现Excel文件的上传和读取,重点关注`MultiFile`转换为`File`以及处理多Sheet页...

    filegdb_api_vs2013_1_4

    在"filegdb_api_vs2013_1_4"中,重点包含以下知识点: 1. **Visual Studio 2013兼容性**:此版本的API是为在Microsoft Visual Studio 2013环境下编译和构建应用而设计的。这意味着它遵循VS2013的编译标准和库依赖,...

    Java读取netcdf文件和生成等值线的jar_netcdf_wContour

    本篇文章将重点讲解如何使用Java读取NetCDF文件以及生成等值线的实现方法,主要涉及两个关键库:netcdf-4.3.22.jar和wContour.jar。 首先,`netcdf-4.3.22.jar`是Unidata开发的Java NetCDF库,它提供了全面的功能来...

    Java thread dump analyzer (tda)

    最后,"visualvm"是一个Java性能分析工具,TDA提供了与其集成的插件,使得用户可以在VisualVM中直接使用TDA的功能。 在提供的压缩包文件中,我们看到有以下几个关键文件: 1. `net-java-dev-tda.nbm`:这是...

    JAVA程序设计案例教程.rar

    《JAVA程序设计案例教程》是一本深入探讨...通过分析源码,你可以深入了解Java的类设计、网络编程、多线程、异常处理、数据库操作以及文件I/O等核心概念,这将极大地提升你的编程能力并为未来项目开发打下坚实基础。

    java 读取Excel文件中的内容

    在Java编程中,读取Excel文件的内容是一项常见的任务,尤其在数据处理、报表生成或数据分析等领域。Excel文件通常包含表格数据,而Java提供多种库来处理这类任务,比如Apache POI、JExcelApi和OpenCSV等。本篇将重点...

    由浅入深——Java 2自学教程.rar

    6. **Java I/O**:书中可能会介绍Java的输入输出系统,如File类、BufferedReader和FileWriter等,用于文件读写和流操作。 7. **网络编程**:Java提供了丰富的网络编程API,如Socket和ServerSocket,读者可以学习...

    java写的一个带密码的小型记事本

    Java中的File类和FileInputStream/FileOutputStream类是进行此类操作的基础。此外,可能还使用了Scanner类来进行用户输入的读取,PrintWriter类或BufferedWriter类进行文件写入。 【压缩包子文件的文件名称列表】:...

    ComUtils.java.zip

    在Java编程中,工具类是开发者经常会用到的一种代码组织形式,它们通常包含了一些通用的功能方法,可以提高代码的复用性和可维护性。本篇文章将深入探讨名为`ComUtils.java`的压缩包文件,它是一个Java工具类,用于...

    JAVA基础课程讲义

    JAVA中如何实现多线程(重点!!) 168 通过继承Thread类实现多线程 168 通过Runnable接口实现多线程 169 线程状态和sleep/yield/join/stop/destroy方法 170 新生状态 170 就绪状态 170 运行状态 170 死亡状态 170 ...

    MAT java memory 分析 内存分析

    在案例中,针对zookeeper内存使用率100%且GC无法释放的问题,MAT的`Leak Analysis`显示大部分内存被`Leader`类的`observingLearners`占用,因此重点应该放在zookeeper的observer模式上。Observer模式是zookeeper为...

    java读excel文件

    在Java编程环境中,读取Excel文件是一项常见的任务,特别是在数据处理和分析的场景下。这里我们将探讨如何使用Java实现这一功能,重点是介绍压缩包中的`jxl.jar`库,这是一个用于读写Excel文件的第三方库。 首先,...

    自考 java 历年真题

    Java提供了丰富的I/O库,如File类、InputStream和OutputStream等,考生应掌握如何读写文件、如何进行网络通信等。历年真题中可能包含读写文件、数据序列化等实践性的题目。 此外,集合框架是Java编程中的一个重要...

    软件设计师历年Java程序代码

    Java编程语言是软件开发领域广泛使用的工具,尤其在软件设计师的考试中,它的重要性不言而喻。这个压缩包文件“软件设计师历年Java程序代码”集合了过去多年的考试题目中的Java源代码,对于准备参加软件设计师考试的...

    《JAVA项目实例源码》

    另外,Java的输入输出流(I/O)和文件操作也可能在项目实例中体现,如File类的使用、数据的序列化与反序列化、网络通信的Socket编程等。这在处理数据读写和实现跨进程通信时至关重要。 除此之外,源码可能包含对Java ...

    java小demo,无数据库,只能看看代码

    由于这个项目没有涉及到数据库的使用,我们可以将重点放在Java的核心特性、类库和编程实践中。 首先,Java是一种面向对象的编程语言,它的核心特性包括封装、继承和多态。封装是将数据和操作数据的方法绑定在一起,...

    Java解析apk文件

    - **应用程序名**:通常在`<application>`标签下的`android:label`属性中找到,但也可以有自定义的标签,需具体分析。 ```java String appName = doc.getElementsByTagName("application").item(0).getAttributes...

    java解析pdf

    在Java中解析PDF文件是一项常见的任务,特别是在处理用户提交的文档、数据分析或自动化报告等场景下。本篇文章将深入探讨如何使用Java来解析PDF文件,并提供一个实际的示例。 Java解析PDF主要依赖于第三方库,如...

    Java学习源代码资源

    在"马尚兵-源程序代码"中,我们可以期待找到不同章节的示例代码,这些代码通常会按照Java的学习路径进行组织,例如基础语法、类与对象、接口、异常处理、多线程、集合框架、输入输出、网络编程、数据库连接等。...

    Java二级资料.zipJava期末考试复习资料

    9. **枚举与注解**:枚举是Java中的一种特殊类,用于定义有限的、预定义的值。注解提供了一种元数据,可以用来为编译器或运行时环境提供信息。了解它们的用途和用法是必要的。 10. **Java SE API的使用**:熟悉Java...

Global site tag (gtag.js) - Google Analytics