File类与IO流
一、File类与IO流
- 数组、集合等内容都是把数据放在内存里面,一旦关机或者断电,数据就会立刻从内存里面消失。而IO主要讲文件的传输(输入和输出),把内存里面的数据持久化到硬盘上,如.txt .avi .png等,或者把文件传输到内存里面
- 为什么要先讲File类,因为你无论是输入还是输出,总得有个地点吧?从哪里输入?输出到哪里?硬盘或者是内存里都得有一个端点吧,从哪里读进来,或者写出到哪里。java中万事万物皆对象。有了File类,File类不仅可以充当一个文件,还可以充当一个目录结构-----文件夹
一、File类
- java.io.File类:文件和文件目录路径的抽象表示形式,与平台无关
- File能新建、删除、重命名文件和目录,但File不能访问文件内容本身。如果需要访问文件内容本身,则需要使用输入/输出流。
- 想要在Java程序中表示一个真实存在的文件或目录,那么必须有一个File对象,但是Java程序中的一个File对象,可能没有一个真实存在的文件或目录。
- 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:
- public Stringget AbsolutePath():获取绝对路径
- public Stringget Path():获取路径
- public String getName():获取名称
- public String getParent():获取上层文件目录路径。若无,返回null
- public long length():获取文件长度(即:字节数)。不能获取目录的长度。
- public long lastModified():获取最后一次的修改时间,毫秒值
- public boolean isDirectory():判断是否是文件目录
- publicboolean isFile():判断是否是文件
- public boolean exists():判断是否存在
File类的创建功能:
public boolean createNewFile():创建文件。若文件存在,则不创建,返回false
public boolean mkdir():创建文件目录。如果此文件目录存在,就不创建了。如果此文件目录的上层目录不存在,也不创建。
public boolean mkdirs():创建文件目录。如果上层文件目录不存在,一并创建
注意事项:
如果你创建文件或者文件目录没有写盘符路径,那么,默认在项目路径下。
public boolean delete():删除文件或者文件夹
- 删除注意事项:
Java中的删除不走回收站。
要删除一个文件目录,请注意该文件目录内不能包含文件或者文件目录
mkdir方法和mkdirs()方法的区别:
其实非常类似于linux中:mkdir 目录 与 mkdir -p 多级目录
File类总结:

File类与IO流的更多相关文章
- JavaSE学习笔记(14)---File类和IO流(字节流和字符流)
JavaSE学习笔记(14)---File类和IO流(字节流和字符流) File类 概述 java.io.File 类是文件和目录路径名的抽象表示,主要用于文件和目录的创建.查找和删除等操作. 构造方 ...
- Java入门之File类和IO流
1.File类 java.io.File 类是文件和目录路径名的抽象表示,主要用于文件和目录的创建.查找和删除等操作 . 构造方法: public File(String pathname) :通过将 ...
- Java自学第10期——File类与IO流(输入输出流、处理流、转换流、缓冲流、Properties集合、打印流)
1.IO简介 IO(输入输出)通过java.io包下的类和接口来支持,包下包括输入.输出两种IO流,每种输入输出流又可分为字符流和字节流两大类. 2.File类 File类是io包下与平台无关的文件和 ...
- Java File类与IO流
File 类 java.io.File 文件和目录路径名的抽象表示形式, 对文件或目录进行操作 构造方法: File(File parent, String child) : 根据 parent 抽象 ...
- 详谈JAVA中的file类与IO流
File类 位置于java.io包构造方法:File(String parent, String child)new file("d:\\","a.txt") ...
- IO流(File类,IO流的分类,字节流和字符流,转换流,缓冲流,对象序列化)
1.File类 File类可以在程序中 操作文件和目录.File类是通过建立File类对象,在调用File类的对象来进行相关操作的. 示例: public class Demo01 { public ...
- file类和io流
一.file类 file类是一个可以用其对象表示目录或文件的一个Java.io包中的类 import java.io.File; import java.io.IOException; public ...
- JavaSE复习(四)File类与IO流
File类 构造方法 public File(String pathname) :通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例. public File(String parent ...
- 01 语言基础+高级:1-8 File类与IO流_day10【缓冲流、转换流、序列化流】
day10[缓冲流.转换流.序列化流] 主要内容 缓冲流 转换流 序列化流 打印流 教学目标 能够使用字节缓冲流读取数据到程序 能够使用字节缓冲流写出数据到文件 能够明确字符缓冲流的作用和基本用法 能 ...
随机推荐
- 018_go语言中的结构体
代码演示 package main import "fmt" type person struct { name string age int } func main() { fm ...
- Docker初探之常用命令
在正式使用Docker之前,我们先来熟悉下Docker中常用的命令,因为对Docker的操作就如同操作Linux一样,大部分操作通过命令完成. 一.登录 为什么要使用登录? 因为我们使用Docker, ...
- 8、Builder 建造者模式 组装复杂的实例 创造型模式
1.什么是Builder模式 定义: 将一个复杂对象的构建与表示相分离,使得同样的构建过程可以创建不同的表示.大白话就是,你不需要知道这个类的内部是什么样的,只用把想使用的参数传进去就可以了,达到了解 ...
- Zookeeper学习(一)
一.Zookeeper理解与选举机制 ①Zookeeper理解 概念:Zookeeper 是一个开源的分布式协调服务框架 ,主要用来解决分布式集群中应用系统的一致性问题和数据管理问题 特点:Zooke ...
- Css 设置超过再两行显示省略号
大部分场景都是超过一行就显示... <template> <div class="other-product-item item-name" :title=&qu ...
- HTML实例-01-轮播图
body部分 <div class="outer"> <ul class="img-list"> <li><a hr ...
- mysql-5.7.xx在lcentos7下的安装以及mysql在windows以及linux上的性能差异
前言: 在centos上安装mysql,整整折腾了将近一天,因为是第一次安装,的确是踩了不少坑,这里详细记录下来,方便各位有同样需求的小伙伴参考. 该选择什么版本? mysql5.7有很多小版本,但是 ...
- 01@-tornado
import tornado.web ''' tornado的基础web框架模块 ''' import tornado.ioloop ''' tornado的核心IO循环模块 封装了Linux的epo ...
- 0x01 基本算法-位运算 a^b
#include<bits/stdc++.h>using namespace std;int power(int a, int b, int p){ int ans = 1%p; ...
- 逃离CSDN -慕舲的黑夜-第三期
来时,是朋友推荐查资料,后来看到CSDN的UI,好华丽高大上,也读了CSDN首页推荐的一些文章,加入CSDN. 可是后来随着博客园,蓝奏云,w3c菜鸟教程,等平台的出现,CSDN越来越令人心寒