一、File类与IO流

  1. 数组、集合等内容都是把数据放在内存里面,一旦关机或者断电,数据就会立刻从内存里面消失。而IO主要讲文件的传输(输入和输出),把内存里面的数据持久化到硬盘上,如.txt .avi .png等,或者把文件传输到内存里面
  2. 为什么要先讲File类,因为你无论是输入还是输出,总得有个地点吧?从哪里输入?输出到哪里?硬盘或者是内存里都得有一个端点吧,从哪里读进来,或者写出到哪里。java中万事万物皆对象。有了File类,File类不仅可以充当一个文件,还可以充当一个目录结构-----文件夹

一、File类

  1. java.io.File类:文件和文件目录路径的抽象表示形式,与平台无关
  2. File能新建、删除、重命名文件和目录,但File不能访问文件内容本身。如果需要访问文件内容本身,则需要使用输入/输出流。
  3. 想要在Java程序中表示一个真实存在的文件或目录,那么必须有一个File对象,但是Java程序中的一个File对象,可能没有一个真实存在的文件或目录。
  4. File对象可以作为参数传递给流的构造器

File的构造器,仅仅是在内存层面创建了一个文件对象或者目录对象,不一定需要在对应硬盘里面有这个文件或者目录。

public class FileTest {
@Test
public void test1() {
File file = new File("hell.txt");// 相对路径是相对模块来说的
File file1 = new File("E:\\LearningData\\Backstage\\Java\\javaBase\\PDF\\h.txt");
System.out.println(file);/*【不需要对应硬盘里面有这个文件或者目录,仅仅是一个是内存层面的对象而已】*/
System.out.println(file1);/*【不需要对应硬盘里面有这个文件或者目录,仅仅是一个是内存层面的对象而已】*/
}
} // 输出结果
hell.txt
E:\LearningData\Backstage\Java\javaBase\PDF\h.txt
// 总结:
1. java是面向对象语言,万事万物都是对象
2. File类先在内存层面创建一个文件对象,通过这个文件对象去实现文件的创建、删除、重命名等。
【OOP,程序员从执行者变成了指挥者。把这个对象想象成一个人,你自己可以吃饭,睡觉,学习。那么file对象它自己也可以创建、删除、重命名等】

File类常用api:

  1. public Stringget AbsolutePath():获取绝对路径
  2. public Stringget Path():获取路径
  3. public String getName():获取名称
  4. public String getParent():获取上层文件目录路径。若无,返回null
  5. public long length():获取文件长度(即:字节数)。不能获取目录的长度。
  6. public long lastModified():获取最后一次的修改时间,毫秒值
  7. public boolean isDirectory():判断是否是文件目录
  8. publicboolean isFile():判断是否是文件
  9. public boolean exists():判断是否存在

File类的创建功能:

  1. public boolean createNewFile():创建文件。若文件存在,则不创建,返回false

  2. public boolean mkdir():创建文件目录。如果此文件目录存在,就不创建了。如果此文件目录的上层目录不存在,也不创建。

  3. public boolean mkdirs():创建文件目录。如果上层文件目录不存在,一并创建

    • 注意事项:

      如果你创建文件或者文件目录没有写盘符路径,那么,默认在项目路径下。

  4. public boolean delete():删除文件或者文件夹

    • 删除注意事项:

      Java中的删除不走回收站。

      要删除一个文件目录,请注意该文件目录内不能包含文件或者文件目录

mkdir方法和mkdirs()方法的区别:

其实非常类似于linux中:mkdir 目录 与 mkdir -p 多级目录

File类总结:

File类与IO流的更多相关文章

  1. JavaSE学习笔记(14)---File类和IO流(字节流和字符流)

    JavaSE学习笔记(14)---File类和IO流(字节流和字符流) File类 概述 java.io.File 类是文件和目录路径名的抽象表示,主要用于文件和目录的创建.查找和删除等操作. 构造方 ...

  2. Java入门之File类和IO流

    1.File类 java.io.File 类是文件和目录路径名的抽象表示,主要用于文件和目录的创建.查找和删除等操作 . 构造方法: public File(String pathname) :通过将 ...

  3. Java自学第10期——File类与IO流(输入输出流、处理流、转换流、缓冲流、Properties集合、打印流)

    1.IO简介 IO(输入输出)通过java.io包下的类和接口来支持,包下包括输入.输出两种IO流,每种输入输出流又可分为字符流和字节流两大类. 2.File类 File类是io包下与平台无关的文件和 ...

  4. Java File类与IO流

    File 类 java.io.File 文件和目录路径名的抽象表示形式, 对文件或目录进行操作 构造方法: File(File parent, String child) : 根据 parent 抽象 ...

  5. 详谈JAVA中的file类与IO流

    File类 位置于java.io包构造方法:File(String parent, String child)new file("d:\\","a.txt") ...

  6. IO流(File类,IO流的分类,字节流和字符流,转换流,缓冲流,对象序列化)

    1.File类 File类可以在程序中 操作文件和目录.File类是通过建立File类对象,在调用File类的对象来进行相关操作的. 示例: public class Demo01 { public  ...

  7. file类和io流

    一.file类 file类是一个可以用其对象表示目录或文件的一个Java.io包中的类 import java.io.File; import java.io.IOException; public ...

  8. JavaSE复习(四)File类与IO流

    File类 构造方法 public File(String pathname) :通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例. public File(String parent ...

  9. 01 语言基础+高级:1-8 File类与IO流_day10【缓冲流、转换流、序列化流】

    day10[缓冲流.转换流.序列化流] 主要内容 缓冲流 转换流 序列化流 打印流 教学目标 能够使用字节缓冲流读取数据到程序 能够使用字节缓冲流写出数据到文件 能够明确字符缓冲流的作用和基本用法 能 ...

随机推荐

  1. 强烈推荐 16 款 IDEA 插件,让你的开发速度飞起来!

    当前使用的IDEA版本是2020.1.随着IDEA版本的升级,有些插件不再支持,而有些插件变成了收费插件,这些插件将不再推荐.以下列举的,都是亲测可以在2020.1版本的IDEA中使用的插件. 1 g ...

  2. LInux下Posix的传统线程示例

    简介 Linux线程是需要连接pthreat库,线程的使用比进程更灵活,需要注意的是线程间的互斥,或者说是资源共享问题. C++11之后,C++标准库也引入了线程,并且使用非常方便,以后再介绍,这里先 ...

  3. Vue 给页面加水印指令(directive)

    页面需要水印 import Vue from 'vue' /** * watermark 指令 * 解决: 给页面生成水印 * 基本原理:给选择器添加背景图片 * 用法:v-watermark=&qu ...

  4. 用它5分钟以后,我放弃用了四年的 Flask

    有一个非常简单的需求:编写一个 HTTP接口,使用 POST 方式发送一个 JSON 字符串,接口里面读取发送上来的参数,对其中某个参数进行处理,并返回. 如果我们使用 Flask 来开发这个接口,那 ...

  5. 树莓派 4B VNC Viewer 显示 cannot currently show the desktop 的解决方法 (图文)

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/ZChen1996/article/de ...

  6. [netty4][netty-transport]netty之nio传输层

    [netty4][netty-transport]netty之nio传输层 nio基本处理逻辑 查看这里 Selector的处理 Selector实例构建 NioEventLoop.openSelec ...

  7. JDK1.8源码学习-ArrayList

    JDK1.8源码学习-ArrayList 目录 一.ArrayList简介 为了弥补普通数组无法自动扩容的不足,Java提供了集合类,其中ArrayList对数组进行了封装,使其可以自动的扩容或缩小长 ...

  8. javaString详解

    String基础 Java String 类 字符串广泛应用 在 Java 编程中,在 Java 中字符串属于对象,Java 提供了 String 类来创建和操作字符串. 创建字符串 创建字符串最简单 ...

  9. 关于Redis的工作模式

    1.哨兵模式 在redis3.0以前的版本要实现集群一般是借助哨兵sentinel工具来监控master节点的状态,如果master节点异常,则会做主从切换,将某一台slave作为master. 缺点 ...

  10. 阿里云鼠标垫,云中谁寄锦书来,阿里云定制GIT指令集鼠标垫

    活动地址 云中谁寄锦书来 活动时间 2020.8.19-8.28 奖品 必得,每日200份,共2000份 参考答案 tips:单选选择以上都是,多选就是全选 云效DevOps包含哪些产品- ABCDE ...