杭州富阳网站建设公司,简述什么是seo,网站插件代码下载,重庆建设工程信息网官网安全监督信息网文章目录 专栏导读#x1f680;简单认识一下文件#x1f680;树形结构和目录#x1f680;文件路径-相对路径、绝对路径#x1f680;文件类型#x1f680;Java中文件的操作#x1f680;File 类的常用方法 专栏导读 #x1f680;多线程章节 #x1f490;数据结构剖析 简单认识一下文件树形结构和目录文件路径-相对路径、绝对路径文件类型Java中文件的操作File 类的常用方法 专栏导读 多线程章节 数据结构剖析 JavaSE语法 简单认识一下文件
我们所谓的“文件”是一个广义的概念在操作系统里会把很多的硬件设备和软件资源都抽象成“文件”进行统一的管理而大部分情况下谈到文件都是指硬盘上的文件文件就相当于是对“硬盘”的一种抽象在平时所说的操作硬盘其实也就是操作文件通过对文件的读写从而实现对硬盘的操作 这里简单提几点内存 VS 硬盘 1.内存读取速度块硬盘慢 2.内存空间小硬盘空间大 3.内存贵硬盘便宜 4.内存中的数据断电就丢失硬盘中的数据断电后还在可以长期保存 树形结构和目录
在计算机中针对于多个文件都是使用文件夹进行管理而“文件夹”这个名字只是民间的一种叫法而文件夹在计算机中被称为**“目录**”; 随着计算机的发展而在计算机上存储的数据也变的越来越多所需要的文件也越来越多所以就衍生出了一重组织这些文件的方式——按照层级结构进行组织这就类似于数据结构中的树形结构在一个根目录下(根节点)面又有许多的子目录(子节点)在子目录中又有许多的各种格式的文件(根节点) 文件路径-相对路径、绝对路径
在众多目录中如果想要找到某一个文件就非常的费力气但是呢这难不倒我们的科学家科学家们就利用树形的层次结构通过“\”来区分每一层的目录从而确定文件的具体位置
C: \ Program Files (x86) \ Windows Media Player
这样用来确定文件位置的一串字符串就称为“文件的路径”
文件路径又分为绝对路径和相对路径 绝对路径是以 D:\ 盘 或者 C:\ 盘 这种盘符开头的路径 相对路径指定一个目录作为基准目录从基准目录出发进行路径的描述称为相对路径而相对路径通常是以 . 或者 … 开头的两个点表示从基准目录的上一层目录开始寻找一个点表示当前目录开始寻找一个点也 可以省略 文件类型
从编程的角度看文件类型主要分为文本文件、二进制文件两大类 文本文件文件中保存的数据都是字符串保存的内容都是合法的字符 二进制文件文件中保存的数据都是二进制数据 什么是“合法的字符” 在计算机中存储的数据其实都是二进制数据但是数据通过字符集进行编码的就可以翻译成合法的字符例如如果一个文件是utf8编码的此时文件中的每个数据都是合法的utf8编码的字符那么就可以认为这个文件是文本文件如果存在一些不是utf8合法字符的情况那么就是二进制比较简单的验证方法就是将一个文件放到记事本中如果是正常的文本字符那就是文本文件如果是乱码情况就是二进制文件
区分是二进制还是文本文件是非常重要的因为利用编程针对文本文件和二进制文件的编写方式是不同的下面就来介绍一下针对于文本文件的编写方式
Java中文件的操作
Java针对文件的操作主要分为针对文件系统的操作 和 针对文件内容的操作 两类本篇文章主要讲解文件系统的操作
1.文件系统的操作
例如创建文件删除文件文件重命名判断文件是否存在……
在Java中使用了一个File类来操作文件
一个File对象就表示硬盘上的一个文件在构造对象时就需要把这个文件路径作为参数传过去
下面看一下File的三个构造方法
构造方法说明File(File parent, String child)根据父目录孩子文件路径创建一个新的File对象File(String pathname)根据文件路径创建一个新的File对象路径可以是绝对路径或者相对路径File(String parent, String child)根据父目录孩子文件路径创建一个新的File对象父目录使用路径表示
以上的构造方法最常用的就是第二个直接指定一个路径实现File对象的创建
File 类的常用方法
**示例一**关于路径的操作
返回值类型方法说明StringgetParent()返回 File 对象的父目录文件路径StringgetName()返回 File 对象的纯文件名称StringgetPath()返回 File 对象的文件路径StringgetAbsolutePath()返回 File 对象的绝对路径
代码演示 public static void main(String[] args) {File file new File(d:/新建文件夹/text.txt);//注意如果指定的路径是一个文件则必须将文件后缀写上System.out.println(file.getParent());//获取file对象的父目录System.out.println(file.getName());//获取file对象的纯文件名称System.out.println(file.getPath());//返回file对象的文件路径System.out.println(file.getAbsoluteFile());//返回file对象的绝对路径}**示例二**文件的判断、创建
返回值方法说明booleanexists()判断 File 对象锁描述的文件/目录是否真实存在booleanisDirectory()判断 File 对象代表的文件是否是一个目录booleanisFile()判断 File 对象代表的文件是否是普通文件booleancreateNewFile()根据 File 对象自动创建一个空文件成功创建后返回true public static void main(String[] args) throws IOException {File file new File(d:/新建文件夹/text.txt);//注意如果指定的路径是一个文件则必须将文件后缀写上System.out.println(file.exists());System.out.println(file.isDirectory());System.out.println(file.isFile());//在进行上述判断时该目录中并没有text.txt文件System.out.println(file.createNewFile());//文件被创建}**示例三**文件的删除
返回类型方法说明booleandelete()根据 File 对象删除该文件成功删除后返回truevoiddeleteOnExit()根据 File 对象标注文件将被删除删除操作会在JVM运行结束时才进行 public static void main(String[] args) throws IOException {File file new File(d:/新建文件夹/text.txt);System.out.println(file.delete());file.deleteOnExit();}**示例四**创建目录
返回类型方法说明booleanmkdir()创建 File 对象代表的目录booleanmkdirs()创建 File 对象代表的目录如果有必要会创建中间目录
(1)mkdir
在 D盘 中有新建文件夹、目录1、目录2三个目录在这三个目录的基础上要创建目录3那么根据这个路径创建一个file对象后调用mkdir()方法就可以创建目录了 public static void main(String[] args) throws IOException {File file new File(d:/新建文件夹/目录1/目录2/目录3);System.out.println(file.mkdir());}现在更改路径把中间的目录1、目录2给删除然后指定路径时仍然使用上述路径惊醒创建再调用mkdir()创建目录就会出现错误 public static void main(String[] args) throws IOException {File file new File(d:/新建文件夹/目录1/目录2/目录3);System.out.println(file.mkdir());}因为使用mkdirs() 创建目录时在创建 File对象时所指定的路径中处了待创建的目录其他目录必须是已经存在了的所以这对于这种情况就可以使用下面这个方法
(2) mkdirs public static void main(String[] args) throws IOException {File file new File(d:/新建文件夹/目录1目录2/目录3);System.out.println(file.mkdirs());}**示例五**获取目录下的所有文件
返回类型方法说明String[]list()返回 File 对象代表的目录下所有的文件名File[]listFiles()返回 File 对象代表的目录下所有的文件以File对象表示 public static void main(String[] args) throws IOException {File file new File(d:/新建文件夹);String[] files1 file.list();File[] files2 file.listFiles();System.out.println(Arrays.toString(files1));System.out.println(Arrays.toString(files2));}**示例六**文件重命名
返回类型方法说明booleanrenameTo(File dest)重命名文件 public static void main(String[] args) throws IOException {File file new File(d:/新建文件夹/111.txt);//保证源文件必须存在File dest new File(d:/新建文件夹/222.txt);System.out.println(file.renameTo(dest));}