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 是字符管 ...
随机推荐
- web攻擊
一.dos攻擊 向服務器發送數量龐大的合法數據,讓服務器分不清是不是正常請求,導致服務器接收所有的請求.海量的數據請求會使得服務器停止服務和拒絕服務. 防禦:阿里云或其它資源服務器有專門web應用防火 ...
- js 插件使用总结
1:树形菜单插件: z-tree 和dtree 2: 弹窗插件layer 3: 前端ui框架ace , h-ui , layui 4:产品设计图绘制软件Axure和Mockplus(推荐)
- 使用Windows任务计划程序运行Windows PowerShell脚本
创建计划任务以运行PowerShell脚本 我需要创建一个计划任务来运行Windows PowerShell脚本的第一件事是我将执行的命令行.找到这个的简单方法是使用Run 命令.有时,我需要知道什么 ...
- 配置Web.config 元素CustomErrors
一.customErrors 元素 属性 说明 defaultRedirect 指定出错时将浏览器定向到的默认 URL.如果未指定该属性,则显示一般性错误. 可选的属性. URL 可以是绝对的(如 w ...
- [WC2018]即时战略——动态点分治(替罪羊式点分树)
题目链接: [WC2018]即时战略 题目大意:给一棵结构未知的树,初始时除1号点其他点都是黑色,1号点是白色,每次你可以询问一条起点为白色终点任意的路径,交互库会自动返回给你这条路径上与起点相邻的节 ...
- HDU 4256 翻译罗马数字
参考自:https://www.cnblogs.com/ECJTUACM-873284962/p/6414173.html The Famous Clock Time Limit: 2000/1000 ...
- 使用docker部署springboot
首先创建一个简单的springboot web项目 创建一个 DockerController,在其中有一个index()方法,访问时返回:Hello Docker! @RestController ...
- [PA2012] Tax
传送门:>Here< 题意:给出一个N个点M条边的无向图,经过一个点的代价是进入和离开这个点的两条边的边权的较大值,求从起点1到点N的最小代价.起点的代价是离开起点的边的边权,终点的代价是 ...
- [LightOJ1038] Race to 1 Again
传送门:>出错啦< 题意:给你一个整数n,每一次可以随机选择一个n的因子x(包括1和它自己),让n除以x——不停重复此过程,直到n==1. 问n被除到1的期望次数. 解题思路: 今天刚学的 ...
- hdu 2955 Robberies (01背包)
链接:http://acm.hdu.edu.cn/showproblem.php?pid=2955 思路:一开始看急了,以为概率是直接相加的,wa了无数发,这道题目给的是被抓的概率,我们应该先求出总的 ...