1.File类用来将文件或者文件夹封装成对象
方便对文件架的属性信息进行操作
File对象可以作为参数传给流的构造函数
将已有的或者未出现的文件或者文件夹封装成对象
File类有一个静态属性separator,表示与系统有关的目录分隔符,以字符串表示
2.File类的常见方法
1.创建
boolen createNewFile():在指定位置创建文件,如果该文件已经存在,则不创建,返回false
和输出流不一样,输出流对象已建立就创建文件,如果文件存在,会覆盖
boolean createTempFile():创建临时文件
boolean mkdir()创建文件夹
boolean madirs():创建多级目录
2.删除
boolean delete(),如果文件不存在放回false
boolean deleteOnExit():在程序退出时删除指定文件
3.判断
//在判断File对象是文件还是目录执勤啊一定要先判断File是否存在
boolean exists():文件是否存在
isFile()
isDirectory()
isHidden()是否是隐藏
isAbsolute()是否是绝对路径
4.获取信息
getName()
getPath()
getParent():该方法返回的是绝对路径中的父目录,如果获取的是相对路径,返回null
getAbsolutePath()
lastModified()
length()
5.renameTo(File f):可以完成重命名或者剪切动作
listRoots():静态方法,返回File数组,列出可用的文件根系统
list(): 返回String数组,列出指定目录下的所有文件或者文件夹的名称,如果指定目录为文件则返回空,而且指定的目录必须存在
list(FilenameFilter filer):根据文件名过滤,根据accept(File dir,String name) 方法返回值进行过滤
listFiles():返回File数组,
listFiles(FilenameFilter filter)
5.Properities是hashTable的子类
也就是说它具备map集合的特点,而且里面存储的键值都是字符串
是集合和IO技术相结合的集合容器
该对象的特点:可以用于键值对形式的配置文件
有两个方法setProperty(键,值)和getProperty(键),用于获取属性好设置属性
6.IO包中的其他类 :
打印流:提供了打印方法,可以将各种数据类型的数据鸳鸯打印
字节打印流PrintStream
构造函数可以接受的参数类型:
(1)File对象 File
(2)字符串路径 String
(3)字节输出流 OutputStream
字符打印流PrintWriter
构造函数可以接受的参数类型:
(1)File对象 File
(2)字符串路径 String
(3)字节输出流 OutputStream
(4)字符输出流:Writer
2.SequenceInputStream(串联流)
用于把多个流中的数据写入一个流中,构造函数传入Enumeration<? extends InpuStream>
需要用到Vector 或者自定义Enumeration类,然后将en传给SequenceInputStream的构造函数
final Iterator<FileInputStream> it=arr.iterator();
Enumeration<FileInputStream> en=new Enumeration<FileInputStream>(){
@Override
public boolean hasMoreElements() {
return it.hasNext();
}
public FileInputStream nextElement() {
return it.next();
}
}