网站规划小结,steam交易链接怎么用,dedecms制作的网站,中铁建设集团有限公司电话-1- java.io.File类的使用
#xff08;1#xff09; 概述
File类及本章下的各种流#xff0c;都定义在java.io包下。一个File对象代表硬盘或网络中可能存在的一个文件或者文件目录#xff08;俗称文件夹#xff09;#xff0c;与平台无关。#xff08;体会万事万物皆…-1- java.io.File类的使用
1 概述
File类及本章下的各种流都定义在java.io包下。一个File对象代表硬盘或网络中可能存在的一个文件或者文件目录俗称文件夹与平台无关。体会万事万物皆对象File 能新建、删除、重命名文件和目录但 File 不能访问文件内容本身。如果需要访问文件内容本身则需要使用输入/输出流。 File对象可以作为参数传递给流的构造器。想要在Java程序中表示一个真实存在的文件或目录那么必须有一个File对象但是Java程序中的一个File对象可能没有一个真实存在的文件或目录。
2构造器
public File(String pathname) 以pathname为路径创建File对象可以是绝对路径或者相对路径如果pathname是相对路径则默认的当前路径在系统属性user.dir中存储。public File(String parent, String child) 以parent为父路径child为子路径创建File对象。public File(File parent, String child) 根据一个父File对象和子文件路径创建File对象public String getName() 获取名称public String getPath() 获取路径public String getAbsolutePath()获取绝对路径public File getAbsoluteFile()获取绝对路径表示的文件public String getParent()获取上层文件目录路径。若无返回nullpublic long length() 获取文件长度即字节数。不能获取目录的长度。所以调用时采用递归方法。public long lastModified() 获取最后一次的修改时间毫秒值 注意
无论该路径下是否存在文件或者目录都不影响File对象的创建。window的路径分隔符使用“\”而Java程序中的“\”表示转义字符所以在Windows中表示路径需要用“\\”。或者直接使用“/”也可以Java程序支持将“/”当成平台无关的路径分隔符。或者直接使用File.separator常量值表示。比如
file2 new File(d: File.separator atguigu File.separator info.txt);
当构造路径是绝对路径时那么getPath和getAbsolutePath结果一样
getAbsolutePath的路径 user.dir的路径 构造路径
3 常用方法
1、获取文件和目录基本信息
public String getName() 获取名称public String getPath() 获取路径public String getAbsolutePath()获取绝对路径public File getAbsoluteFile()获取绝对路径表示的文件public String getParent()获取上层文件目录路径。若无返回nullpublic long length() 获取文件长度即字节数。不能获取目录的长度。public long lastModified() 获取最后一次的修改时间毫秒值
如果File对象代表的文件或目录存在则File对象实例初始化时就会用硬盘中对应文件或目录的属性信息例如时间、类型等为File对象的属性赋值否则除了路径和名称File对象的其他属性将会保留默认值。 2、列出目录的下一级
public String[] list() 返回一个String数组表示该File目录中的所有子文件或目录。public File[] listFiles() 返回一个File数组表示该File目录中的所有的子文件或目录。
3、File类的重命名功能
public boolean renameTo(File dest):把文件重命名为指定的文件路径。
4、判断功能的方法
public boolean exists() 此File表示的文件或目录是否实际存在。public boolean isDirectory() 此File表示的是否为目录。public boolean isFile() 此File表示的是否为文件。public boolean canRead() 判断是否可读public boolean canWrite() 判断是否可写public boolean isHidden() 判断是否隐藏
、创建、删除功能
public boolean createNewFile() 创建文件。若文件存在则不创建返回false。public boolean mkdir() 创建文件目录。如果此文件目录存在就不创建了。如果此文件目录的上层目录不存在也不创建。public boolean mkdirs() 创建文件目录。如果上层文件目录不存在一并创建。public boolean delete() 删除文件或者文件夹 删除注意事项① Java中的删除不走回收站。② 要删除一个文件目录请注意该文件目录内不能包含文件或者文件目录。所以删除也常常使用递归 File类中声明了新建删除获取名称重命名等方法并没有涉及到文件的读写操作若想实现文件内容的读写需要使用io流。 -2- Java IO原理 Java程序中对于数据的输入/输出操作以“流(stream)” 的方式进行可以看做是一种数据的流动。
1 流的分类
java.io包下提供了各种“流”类和接口用以获取不同种类的数据并通过标准的方法输入或输出数据。
按数据的流向不同分为输入流和输出流。 输入流 把数据从其他设备上读取到内存中的流。 以InputStream、Reader结尾输出流 把数据从内存 中写出到其他设备上的流。 以OutputStream、Writer结尾按操作数据单位的不同分为字节流8bit和字符流16bit。 字节流 以字节为单位读写数据的流。 以InputStream、OutputStream结尾字符流 以字符为单位读写数据的流。 以Reader、Writer结尾根据IO流的角色不同分为节点流和处理流。 节点流直接从数据源或目的地读写数据处理流不直接连接到数据源或目的地而是“连接”在已存在的流节点流或处理流之上通过对数据的处理为程序提供更为强大的读写功能。
流的API
Java的IO流共涉及40多个类实际上非常规则都是从如下4个抽象基类派生的。 抽象基类 输入流 输出流 字节流 InputStream OutputStream 字符流 Reader Writer
由这四个类派生出来的子类名称都是以其父类名作为子类名后缀。 常用的节点流
文件流 FileInputStream、FileOutputStrean、FileReader、FileWriter字节/字符数组流 ByteArrayInputStream、ByteArrayOutputStream、CharArrayReader、CharArrayWriter 对数组进行处理的节点流对应的不再是文件而是内存中的一个数组。
常用处理流
缓冲流BufferedInputStream、BufferedOutputStream、BufferedReader、BufferedWriter 作用增加缓冲功能避免频繁读写硬盘进而提升读写效率。转换流InputStreamReader、OutputStreamReader 作用实现字节流和字符流之间的转换。对象流ObjectInputStream、ObjectOutputStream 作用提供直接读写Java对象功能