一、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. __getattribute__和item系列

    # class Foo: # def __init__(self,x): # self.x=x # # def __getattr__(self, item): # print('执行的是我') # ...

  2. Android Studio--家庭记账本(五)

    想到每次删除之后将表单自动初始化,却发现会导致除去已经删除的不在出现在表单上,数据库中剩余的数据还会再次出现在表单中.导致表单上的数据越来越多.后来又想到,当我实现删除之后,把表单采用全部清除,再重新 ...

  3. CSS可见格式化模型

    1.盒模型 1.1 盒子大小 盒模型描述了元素如何显示,以及如何相互作用.相互影响. 页面中的所有元素都被看作一个矩形盒子,这个盒子包含元素的内容.内边距.边框和外边距. 给元素应用的背景会作用于元素 ...

  4. 工作流选型专项,Camunda or flowable or?

    1. 名词解释 1.1. BPM Business Process Management,业务流程管理,“通过建模.自动化.管理和优化流程,打破跨部门跨系统业务过程依赖,提高业务效率和效果”. 1.2 ...

  5. C#算法设计排序篇之07-希尔排序(附带动画演示程序)

    希尔排序(Shell's Sort) 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/687 访问. 希尔排序是插入排序的 ...

  6. win10 安装msys2 和 ruby

    1.选择自己的版本 https://rubyinstaller.org/downloads/ Ruby+Devkit 2.5.1-2 (x64) Ruby+Devkit 2.5.1-2 (x86) 2 ...

  7. 这样Review代码牛逼啦!

    这样Review代码牛逼啦! 一个对项目负责的团队代码质量检查是必不可少的,有条件的团队经常有代码review习惯,这样可以使技术团队共同进步,但是一个庞大的工程做代码review其实是很麻烦的,所以 ...

  8. nodejs版本RSA算法封装(SHA1)

    故事背景 看到没写过代码的人聊算法细节装X,真的感觉非常逗,又不好意思戳破人家的表演. 这个世界好奇妙,总有那种看了一些周边普及性书籍就开始好为人师.指点江山,乖乖,放到古代很可能就是赵括,能代替廉颇 ...

  9. STL函数库的应用第三弹——数据结构(栈)

    Part 1:栈是什么 栈(stack)又名堆栈,它是一种运算受限的线性表.限定仅在表尾进行插入和删除操作的线性表. 这一端被称为栈顶,相对地,把另一端称为栈底. 向一个栈插入新元素又称作进栈.入栈或 ...

  10. SpringBoot --- 自定义 Starter

    SpringBoot --- 自定义 Starter 创建 1.需要创建一个新的空工程 2.新的工程需要引入两个模块 一个Maven 模块 作为启动器 一个SpringBoot 模块 作为自动配置模块 ...