【分类】

Java的IO通过java.io包下的类和接口来支持。

1.按照流向:

输入流     输出流

2.按照操作数据的大小:

字节流( 8位字节 )     字符流( 16位字节 )

3.按照角色:

节点流     处理流

【File类】

File类是java.io包下代表与平台无关的文件和目录,主要用于操作文件和目录。

File能新建、删除、重命名文件和目录,但File类不能访问文件内容本身,如果需要访问文件的内容本身,需要输入/输出流。

常用构造方法:

File(String pathname)
通过路径名创建一个新 File 实例。

File(URI uri)

通过将给定的 file的URI 路径名创建一个新的 File 实例。

【访问文件和目录】

[ 访问文件的相关方法 ]

String getName()    返回File对象的文件名

String getPath()      返回File对象对应的路径名

File getAbsoluteFile()      返回File对象的绝对路径

String getAbsolutePath() 返回File对象所对应的绝对路径名

String getParrent()  返回此File对象所对应目录的父目录名

boolean renameTo(File newName) 重命名此File对象所对应的文件或目录

[ 文件检测的方法 ]

boolean exists()  判断File对象所对应的文件或目录是否存在

boolean canWrite() 判断File对象所对应的文件或目录是否可写

boolean canRead() 判断File对象所对应的文件或目录是否可读

boolean isFile()         判断File对象所对应的是否是文件,而不是目录

boolean isDirectory() 判断File对象所对应的是否是目录,而不是文件

boolean isAbsolute()  判断File对象所对应的文件或目录是否是绝对路径

[ 获取文件的信息 ]

long lastModified()  返回文件的最后修改时间

long length()   返回文件内容的长度

[ 文件操作的方法 ]

boolean createNewFile() 新建一个File对象指定的新文件,成功返回true。(文件不存在新建,已存在覆盖)

boolean delete()  删除File对象所对应的文件或路径

static File createTempFile(String prefix,String suffix) 在默认的临时文件中创建一个临时的空文件,使用给定前缀、系统生成的随机数字、给定的后缀作为文件名。

static File createTempFile(String prefix,String suffix,File directory) 在directory所指定的目录中创建一个临时文件,其它同上。

void deleteOnExit() 注册一个删除钩子,指定当java虚拟机退出时,删除File对象所对应的文件和目录。

[ 目录操作的方法 ]

boolean mkdir() 创建一个File对象所对应的目录

String[] list()       列出File对象的所有子文件和路径名,返回String数组

String[] listFiles() 列出File对象的所有子文件和路径名,返回File数组

static File[] listRoots() 列出所有的根路径

【建立JavaIO工程的位置】

【工程Demo位置】

【测试1:获取文件名或路径名】

File file=new File(".");  //以当前路径创建一个File对象
System.out.println("文件名==="+file.getName()); //直接获取文件名
System.out.println("相对路径的父路径==="+file.getParent()); //获取相对路径的父路径,会引起错误
System.out.println("绝对路径==="+file.getAbsoluteFile()); //获取绝对路径
System.out.println("绝对路径的父路径==="+file.getAbsoluteFile().getParent()); //获取上一级路径

【运行结果】

【测试2:创建临时文件】

File file=new File(".");  //以当前路径创建一个File
File tmpFile=File.createTempFile("Higgin", ".txt" ,file); //在当前路径下建立一个临时文件,名为"Higgin.txt"
tmpFile.deleteOnExit(); //指定当JVM退出时 删除该文件

【使用debug运行结果】

运行到创建临时文件那一步:

运行到JVM退出删除那一步,文件被删除

【测试3:新建一个普通文件,并判断是否新建成功】

File newFile=new File(System.currentTimeMillis()+"");//以系统当前时间作为新文件名来创建文件
System.out.println("newFile对象是否存在111==="+newFile.exists());
newFile.createNewFile(); //以指定newFile对象来创建一个文件
System.out.println("newFile对象是否存在222==="+newFile.exists());

【运行结果】

【测试4:文件和目录重名的情况是否能创建成功】

File newFile=new File(System.currentTimeMillis()+"");//以系统当前时间作为新文件名来创建文件
System.out.println("newFile对象是否存在111==="+newFile.exists());
newFile.createNewFile(); //以指定newFile对象来创建一个文件
System.out.println("newFile对象是否存在222==="+newFile.exists());
boolean flag=newFile.mkdir(); //以newFile对象来创建一个目录,因为newFile已经存在,所以无法创建,该方法返回false
System.out.println("newFile.mkdir()创建目录是否成功:"+flag); //由于重名,所以失败

【运行结果】

【测试5:列出当前路径和系统根路径下的所有文件和路径】

File file=new File(".");  //以当前路径创建一个File对象
String[] fileList=file.list(); //使用list()方法列出当前路径下的所有文件和路径
System.out.println("=========当前路径下的所有文件和路径如下=========");
for(String fileName:fileList){
System.out.println(fileName);
} File[] roots=File.listRoots(); //静态方法列出所有磁盘的根路径
System.out.println("=========系统所有根路径如下=========");
for(File root:roots){
System.out.println(root);
}

【运行结果】

IO流01_File类的更多相关文章

  1. Java学习笔记33(IO:打印流,IO流工具类)

    打印流: 有两个类:PrintStream     PrintWriter类,两个类的方法一样,构造方法不一样 PrintStream构造方法:接收File类型,接收字符串文件名,接收字节输出流(Ou ...

  2. Java常用工具类之IO流工具类

    package com.wazn.learn.util; import java.io.Closeable; import java.io.IOException; /** * IO流工具类 * * ...

  3. 09、IO流—File类与IO流

    目录 一.File类 基本认识 实用方法 获取功能 重命名功能(包含剪切) 判断功能 创建.删除文件 实际小案例 二.IO流 1.认识IO流 2.IO流基类介绍 字节流基类介绍 字符流基类介绍 三.节 ...

  4. Java:IO流其他类(字节数组流、字符数组流、数据流、打印流、Properities、对象流、管道流、随机访问、序列流、字符串读写流)

    一.字节数组流: 类 ByteArrayInputStream:在构造函数的时候,需要接受数据源,而且数据源是一个字节数组. 包含一个内部缓冲区,该缓冲区包含从流中读取的字节.内部计数器跟踪 read ...

  5. 021.1 IO流——File类

    ########################################IO流:    IO:用于处理设备上的数据的技术.设备:内存,硬盘,光盘    流:系统资源,Windows系统本身就可 ...

  6. Java的IO流各个类的使用原则

    参考:http://blog.csdn.net/ilibaba/article/details/3955799 Java IO 的一般使用原则(花多眼乱,其实每个类都有专门的作用): 这里有详细介绍: ...

  7. IO流——File类(文件流类)

    java语言的输入输出操作是借助于输入输出包java.io来实现的,按传输方向分为输入流与输出流,从外设传递到应用程序的流为输入流,将数据从应用程序输入到外设的流为输出流. File类的构造方法: 1 ...

  8. Java—IO流 File类的常用API

    File类 1.只用于表示文件(目录)的信息(名称.大小等),不能用于文件内容的访问. package cn.test; import java.io.File; import java.io.IOE ...

  9. Java学习笔记43(打印流、IO流工具类简单介绍)

    打印流: 有两个类:PrintStream,PrintWriter类,两个类的方法一致,区别在于构造器 PrintStream:构造方法:接收File类型,接收字符串文件名,接收字节输出流(Outpu ...

随机推荐

  1. Windows常用命令使用总结

    Windows dos常用命令的熟练使用有助于提高工作效率. 1.windows+R:打开运行程序窗口 2.cmd:调用DOS命令窗口 3.mstsc:调用远程桌面命令窗口 4.mspaint:调用画 ...

  2. 学习和理解C#的委托

    去年自学C#用的教程是入门级的<学通C#的24堂课>,教材里面也没有提到委托和事件,工作中也没怎么用到.后来一次在网上看了一些大牛的博客,读完之后感觉懵懵懂懂,似懂非懂,过了两三天之后,却 ...

  3. postfix反垃圾邮件说明

    参考地址:http://guailele.blog.51cto.com/1156442/780223 1.打开 smtp 的认证模块 在/etc/postfix/main.cf文件最后加上:   sm ...

  4. 别名的应用(New-Alias)

    New-Alias -name appcmd -value $env:windir\system32\inetsrv\appcmd.exe 这样就可以在当前PS环境下直接使用appcmd了

  5. Lync边缘服务器配置

    以下步骤均使用Lync管理员权限即可完成 1.在前端下载并编辑拓扑,新建边缘池 如果边缘池中只有一台服务器,则池名称与服务器名称相同,如下: 如果需要删除边缘池,则需要先取消关联,如下: 2.发布拓扑 ...

  6. linux修改文件权限和用户组管理小结

    如何在linux下修改组权限 chmod g+r path/file 加读权限 当前目录 chmod -R g+r path/file 加读权限 当前目录以及子目录 g-r 减读权限g+w 加写权限g ...

  7. BZOJ 2298: [HAOI2011]problem a 动态规划

    2298: [HAOI2011]problem a Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeOnli ...

  8. Android ListView快速定位(三)

    方法三: android:fastScrollEnabled="true" 这个很简单,只要把属性设置了,就可以起作用了 不过这个滑块比较丑,当然网上也有自定义图片的例子. 参考 ...

  9. Lazy Load 图片延迟加载(转)

    jQuery Lazy Load 图片延迟加载来源 基于 jQuery 的图片延迟加载插件,在用户滚动页面到图片之后才进行加载. 对于有较多的图片的网页,使用图片延迟加载,能有效的提高页面加载速度. ...

  10. SQL SERVER 2005 同步复制

    what SQL SERVER2005复制是在不同数据库间保持数据结构和数据内容同步更新的一种方案. 由三部分构成: 发布服务器:包含了需要被发布的数据库,也就是需要向其它数据源分发内容的源数据库. ...