1、目前是怎么样存储数据的?弊端是什么?
int a = 10;
int[] arr = {1, 2, 3, 4, 5};
List<String> list = new ArrayList<>();
- 在 内存 中存储的数组是用来处理、修改、运算的,不能长久保存。
2、计算机中,有没有一块硬件可以永久存储数据的?
3、思路
3.1、先要定位文件
- File类可以定位文件:进行删除、获取文本本身信息等操作。
- 但是不能读写文件内容。
3.2、读写文件数据
3.3、今日章节总体学习思路
- 先学会使用File类定位文件以及操作文件本身
- 然后学习IO流读写文件数据
4、关于File、IO流、需要学会什么
- File类使用:能够使用File的对象操作文件,如:删除、获取文件信息、创建文件夹等
- 方法递归:理解递归算法思路并能完成常见递归题目,以及文件搜索
- 字符集:程序中经常要读取文件中的数据,程序员必须先知道数据的底层形式才能够去学习如何读写数据
- IO流的作用、分类:能够使用IO流完成文件数据的读写等操作
5、File类概述
- File类在包java.io.File下、代表操作系统的文件对象(文件、文件夹)(广义概念)
- File类提供了诸如:定位文件、获取文件本身的信息、删除文件、创建文件(文件夹)等功能。
5.1、File类创建对象
方法名称 | 说明 |
---|
public File(String pathname) | 根据文件路径创建文件对象 |
public File(String parent,String child) | 从父路径名字符串和子路径名字符串创建文件对象 |
public File(File parent,String child) | 根据父路径对应文件对象和子路径名字符串创建文件对象 |
5.2、三种路径写法(路径分隔符)
- 两个反斜杠 \ \,第一个斜杠表示转义字符,两个反斜杠就表示Window中的一个反斜线
Window下的路径表示 | F: \ IdeaProjects \ workspace \ file-io-app \ src \ com \ csdn \ d1_file |
---|
Java中的路径表示 | F:\\ IdeaProjects \\ workspace \\ file-io-app \\ src \\ com \\ csdn \\ d1_file \\ FileDemo.java |
---|
- 注意:数字键盘上的正斜杠不是很灵验,有时候会出现文件找不到异常
,
, - 注意:问号( ?)键上的正斜杠相较于更好
F: / IdeaProjects / workspace / file-io-app / src / com / csdn / d1_file / FileDemo.java
- 使用API,File.separator
"F:" + File.separator + "IdeaProjects" + File.separator + "workspace" + File.separator + "file-io-app" + File.separator + "src" + File.separator + "com" + File.separator + "csdn" + File.separator + "d1_file" + File.separator + "FileDemo.java"
package com.csdn.d1_file;
import java.io.File;
/**
* 目标:学会创建File对象定位操作系统的文件(文件 文件夹)
*/
public class FileDemo {
public static void main(String[] args) {
//1、创建File对象
File doubleBackSlant = new File("F:\\IdeaProjects\\workspace\\file-io-app\\src\\com\\csdn\\d1_file\\FileDemo.java");
File oneForwardSlash = new File("F:/IdeaProjects/workspace/file-io-app/src/com/csdn/d1_file/FileDemo.java");
File separator = new File("F:" + File.separator +
"IdeaProjects" + File.separator +
"workspace" + File.separator +
"file-io-app" + File.separator +
"src" + File.separator +
"com" + File.separator +
"csdn" + File.separator +
"d1_file" + File.separator + "FileDemo.java");
//文件的字节大小
System.out.println(doubleBackSlant.length());//1573
System.out.println(oneForwardSlash.length());//1573
System.out.println(separator.length());//1573
//2.File创建对象,支持绝对路径,支持相对路径(重点)
//相对路径:一般定位模块中的文件的,相对于工程下!!
File relative = new File("src/com/csdn/d1_file/FileDemo.java");
System.out.println(relative.length());//1573
//3、File创建对象,可以是文件也可以是文件夹
File directory = new File("F:\\IdeaProjects");
System.out.println(directory.length());//4096
}
}
- File对象可以定位文件和文件夹
- File封装的对象仅仅是一个路径名,这个路径可以存在的,也可以是不存在的。
5.3、绝对路径和相对路径
- 绝对路径:从盘符开始
- 相对路径:不带盘符,默认直接到当前 工程 (项目)下 的目录寻找文件。(不是从 模块 目录下开始寻找文件,idea有模块这个概念)
6、File类的作用
- 创建对象定位文件,可以删除、获取文件信息等。但是不能读写文件内容。
7、File类创建对象的方式?
- File file = new File(“文件/文件/绝对路径/相对路径”)
8、绝对路径和相对路径是什么样的?
- 绝对路径是带盘符的,依赖当前系统。
- 相对路径是不带盘符的,默认相对到工程下开始寻找文件。