第十五章:文件操作

File类基本操作

  在Java语言里面提供有对于文件操作系统操作的支持,而这个支持就在java.io.File类中进行了定义,也就是说在整个java.io包里面,File类是唯一一个与文件本身操作(创建、删除、重命名等等)有关的类,而如果要想进行File类的操作,必须要提供有完整的路径,而后可以调用相应的方法进行处理。

File类的基本使用

  打开JDK文档可以发现,File类是Comparable接口的子类,所以File类的对象是可以进行排序处理的。(为什么要排序?在window里面对文件可以进行创建日期排序,大小排序,名称排序等等)。而在File类进行处理的时候需要为其设置访问路径,那么对于路径的配置主要通过File类的构造方法进行处理。        File类是与文件本身有关的,但是和文件内容是没有关系的,内容的操作不是File类的功能。

  如果现在要想进行文件的基本操作,可以使用如下的方法:

创建新的文件:public boolean createNewFile() throw IOException

判断文件是否存在:public boolean exists();

删除文件:public boolean delete();

  通过代码可以发现,File类实现的就是文件本身的处理(构造重要,判断是否存在,删除重要,以后用的到)。

File类操作深入

   现在已经实现了文件的基础操作,但是对于这个操作里面也是存在有一些问题的,下面针对之前的代码进行优化处理。

1、  在实际的软件项目开发和运行的过程之中,往往都会在Windows中进行项目的开发,而在项目部署的时候基于Linux或Unix系统来进行项目发布以保证生产环节的安全性;

  在不同的操作系统之中会存在有不同的路径分隔符:Window分隔符“\”,Linux分隔符“/”,所以在最初进行开发的时候就必须考虑不同系统环境下的分隔符问题,所以为了解决此问题,File类提供有一个常量

常量不应该全是大写吗?这个是java的历史遗留问题,之前常量全部小写的,而用它来编写的正在运行的程序又不能修改了。

  但是随着系统的适应性的不断加强,对于当前的路径操作,也可以随意使用

2、  在使用File类进行文件处理的时候需要注意的是:程序---->JVM--->操作系统函数--->在磁盘上(文件处理)。所以在进行同一文件的反复删除或创建的时候有可能会出现有延迟的问题,所以这个时候最好的方案是别重名;

  这种判断并且建立父目录的操作在很多的情况下可能只需要一次,但是如果将这个判断(父目录是否有)一致都停留在代码里面,那么就会造成时间复杂度的提升,所以这个时候如果想要提升性能,请先保证目录已经创建。(可以提升一点点的性能,性能都是一点点的抠出来的)。

获取文件信息

综合案例:列出目录结构

综合案例:文件批量更名

猜你喜欢

转载自www.cnblogs.com/djlindex/p/11286007.html