io系列之其他类
一、File类:将文件或者文件夹封装成对象。
方便对文件和文件夹的属性信息进行操作。
File对象可以作为参数传递给流的构造函数。
注意: 文件夹名称也可带有扩展名。
构造函数:
File(String pathname) 通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例。
如: File f1 = new File("c:\\abc\\a.txt");
或:File f1 = new File("a.txt");
File(String parent, String child) 根据 parent 路径名字符串和 child 路径名字符串创建一个新 File 实例
如: File f2 = new File("c:\\abc","b.txt");
File(File parent, String child) 根据 parent 抽象路径名和 child 路径名字符串创建一个新 File 实例
如: File d = new File("d:\\abc");
File f3 = new File(d,"c.txt");
目录分割符: tatic String separator 与系统有关的默认名称分隔符,为了方便,它被表示为一个字符串。
作用 : 为了解决路径名称字符串中的“\\”不具有跨操作系统平台性的问题。
如:"c:\\abc\\a.txt" 可以改写为: "c:"+File.separator+"abc"+File.separator+"a.txt" 。
其它方法:
1、创建:
boolean createNewFile() 在调用的对象指定路径下不存在指定文件时,创建这个文件,并返回true,否则返回false。
boolean mkdir() 创建此抽象路径名指定的目录,如果目录已存在,则不创建,返回false(只能创建一级目录)。
boolean mkdirs()创建此抽象路径名指定的目录,如果目录已存在,则不创建,返回false(可以创建多级目的)。
2、删除:
boolean delete() 在调用的对象指定路径下存在指定文件时,删除这个文件,并返回true,否则返回false。
void deleteOneExit() 在虚拟机退出的时候,删除调用对象指定路径下的文件。
3、判断:
boolean exists() 测试此抽象路径名表示的文件或目录是否存在。存在就返回true, 否则返回false。
boolean isDirectory() 测试此抽象路径名表示的文件是否是一个目录。
boolean isFile() 测试此抽象路径名表示的文件是否是一个标准文件。
注意:在需要判断文件对象是文件还是目录时,必须先判断该文件对象封装的内容是否存在。!!
boolean isHidden() 测试此文件是否为一个隐藏文件。
boolean isAbsolute() 测试此抽象路径名是否为绝对路径名。
boolean canExecute() 判断该路径对应文件是否问可执行文件,可执行返回true,否则返回false。
boolean canRead() 测试应用程序是否可以读取此抽象路径名表示的文件。
boolean canWrite() 测试应用程序是否可以修改此抽象路径名表示的文件。
4、获取:
String getName() 返回由该File对象锁表示的的文件或者文件夹的名称(只是名字)。
String getPath()返回此File对象创建时传入的路径。
String getAbsolutePath()返回此File对象表示文件或文件夹的绝对路径。
File getAbsolutePath()返回此File对象表示文件或文件夹的绝对路径(该路径被封装成File对象)。
String getParent()返回此File对象表示的父目录(该父目录只是建立File对象时传入的路径上的父目录)。
long lastModified() 返回此File对象所表示文件或文件夹最后一次被修改的时间。
long length() 返回由此抽象路径名表示的文件的长度。(即 大小)。
boolean renameTo(File dest) 为File对象指定文件改名字(路径也可以改,类似剪切并改名)
5、List方法:
Static File[] listRoots() 列出可用的系统根目录(如:c/d/e/f盘)
String[] list() 返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录
String[] list(FilenameFilter filter) 返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中满足指定过滤器的文件和目录
(包含隐藏文件,且调用该方法的File对象封装的是一个存在的目录,是文件就会返回空)
File[] listFiles() 返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件。
File[] listFiles(FileFilter filter) 返回抽象路径名数组,这些路径名表示此抽象路径名表示的目录中满足指定过滤器的文件和目录。
File[] listFiles(FilenameFilter filter) 返回抽象路径名数组,这些路径名表示此抽象路径名表示的目录中满足指定过滤器的文件和目录。
这其中的FilenameFilter是过滤器, 要另外新建(实现FilenameFilter接口的类,只有一个方法,一般匿名内部类)
二、Propperties类
Properties是HashTable的子类,就是说其具有Map集合的特点,而且其中存储的键值对都是字符串。
我们可以使用Map集合的共有方法(keySet,或者entrySet等方法),也可以使用其特有的方法来操作数据。
因为Properties是一个与IO技术相结合的容器,所以我们一般使用其特有的方法类操作数据。
作用: 可以用于键值对形式的配置文件。(所以我们在加载数据的时候就要有固定的格式: 键 = 值 )。
String getProperty(String key) 用指定的键在此属性列表中搜索属性。
String getProperty(String key, String defaultValue) 用指定的键在属性列表中搜索属性。
void list(PrintStream out) 将属性列表输出到指定的输出流。
void list(PrintWriter out) 将属性列表输出到指定的输出流。
void load(InputStream inStream) 从输入流中读取属性列表(键和元素对)。
void load(Reader reader) 按简单的面向行的格式从输入字符流中读取属性列表(键和元素对)。
void |
store(Writer writer, String comments) 以适合使用 load(Reader) 方法的格式,将此 Properties 表中的属性列表(键和元素对)写入输出字符。 |
void |
store(OutputStream out, String comments) 以适合使用 load(InputStream) 方法加载到 Properties 表中的格式,将此 Properties 表中的属性列表(键和元素对)写入输出流。 |
io系列之其他类的更多相关文章
- Java基础复习笔记系列 五 常用类
Java基础复习笔记系列之 常用类 1.String类介绍. 首先看类所属的包:java.lang.String类. 再看它的构造方法: 2. String s1 = “hello”: String ...
- java io系列01之 "目录"
java io 系列目录如下: 01. java io系列01之 "目录" 02. java io系列02之 ByteArrayInputStream的简介,源码分析和示例(包括 ...
- java io系列06之 序列化总结(Serializable 和 Externalizable)
本章,我们对序列化进行深入的学习和探讨.学习内容,包括序列化的作用.用途.用法,以及对实现序列化的2种方式Serializable和Externalizable的深入研究. 转载请注明出处:http: ...
- Java IO系列之一:IO
1. 概述 Java IO一般包含两个部分: 1.java.io包中堵塞型IO: 2.java.nio包中的非堵塞型IO,通常称为New IO. java.io包下,分为四大块近80个类: 1.基于字 ...
- io系列之字符流
java中io流系统庞大,知识点众多,作为小白通过五天的视频书籍学习后,总结了io系列的随笔,以便将来复习查看. 本篇为此系列随笔的第一篇:io系列之字符流. IO流 :对数据的传输流向进行操作,ja ...
- java io系列02之 ByteArrayInputStream的简介,源码分析和示例(包括InputStream)
我们以ByteArrayInputStream,拉开对字节类型的“输入流”的学习序幕.本章,我们会先对ByteArrayInputStream进行介绍,然后深入了解一下它的源码,最后通过示例来掌握它的 ...
- java io系列04之 管道(PipedOutputStream和PipedInputStream)的简介,源码分析和示例
本章,我们对java 管道进行学习. 转载请注明出处:http://www.cnblogs.com/skywang12345/p/io_04.html java 管道介绍 在java中,PipedOu ...
- java io系列05之 ObjectInputStream 和 ObjectOutputStream
本章,我们学习ObjectInputStream 和 ObjectOutputStream ObjectInputStream 和 ObjectOutputStream 介绍 ObjectInputS ...
- java io系列20之 PipedReader和PipedWriter
本章,我们学习PipedReader和PipedWriter.它们和“PipedInputStream和PipedOutputStream”一样,都可以用于管道通信. PipedWriter 是字符管 ...
随机推荐
- Promise是什么?
一. Promise是什么? Promise是一种异步操作的解决方案,将写法复杂的传统的回调函数和监听事件的异步操作,用同步代码的形式表达出来. 避免了多级异步操作的回调函数嵌套. Promise最早 ...
- php重定向http请求
302 临时重定向 301 永久重定向 ( 302 和 301 的区别主要在于搜索引擎,搜索引擎一般不会抓取临时重定向的页面 ) 301 和302 适用于 普通的GET 请求: 如果 ...
- b2b
sku(Stock Keeping Unit)(件)最小库存量单位. spu(一款) 一种详细的规格参数有时候跟spu,规格参数加上颜色+尺寸什么的唯一确定了一个手机,对应的就是sku spu:一款产 ...
- 用MyEclipse自带工具生成WebService客户端代码
本文章主要是介绍如何利用已经发布了的Webservice的wsdl来自动生成java的客户端代码.注意:本方法需要你采用的java版本是1.5或者以上的版本,采用MyEclipse来自动生成代码. w ...
- captive portal
刷好lineageos后默认浏览器无法上网,实际上并不是没有连上网,而是captive portal即网关设置错误,设置一下即可上网. adb shell "settings put glo ...
- 安装mysql zip5.7版--安裝
一直以来都习惯了使用MySQL安装文件(.exe),今天下载了一个.zip版本的MySQL,安装过程中遇到了一些问题,如下: 1.在MySQL官网上(http://dev.mysql.com/down ...
- time模块 转换关系图
import time t = time.time() #获取目前时间 t_struck = time.localtime(t) #time.gmtime() utc时区 t_str = time.s ...
- axis函数
axis函数 axis([xmin xmax ymin ymax]) 用来标注输出的图线的最大值最小值. MATLAB中坐标系的设置函数 MATLAB 函数 axis([XMIN XMAX YMI ...
- rediret 加/与不加/的区别
- 洛谷 P3953 逛公园
题目链接 思路 首先没有0边,且k为0的情况就是最短路计数. 如果k不为0,看到k<=50,想到dp. 设f[u][i]表示到达u点比最短路多走i的路径数,转移到v点. f[u][i]+=f[v ...