IO流01_File类
【分类】
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类的更多相关文章
- Java学习笔记33(IO:打印流,IO流工具类)
打印流: 有两个类:PrintStream PrintWriter类,两个类的方法一样,构造方法不一样 PrintStream构造方法:接收File类型,接收字符串文件名,接收字节输出流(Ou ...
- Java常用工具类之IO流工具类
package com.wazn.learn.util; import java.io.Closeable; import java.io.IOException; /** * IO流工具类 * * ...
- 09、IO流—File类与IO流
目录 一.File类 基本认识 实用方法 获取功能 重命名功能(包含剪切) 判断功能 创建.删除文件 实际小案例 二.IO流 1.认识IO流 2.IO流基类介绍 字节流基类介绍 字符流基类介绍 三.节 ...
- Java:IO流其他类(字节数组流、字符数组流、数据流、打印流、Properities、对象流、管道流、随机访问、序列流、字符串读写流)
一.字节数组流: 类 ByteArrayInputStream:在构造函数的时候,需要接受数据源,而且数据源是一个字节数组. 包含一个内部缓冲区,该缓冲区包含从流中读取的字节.内部计数器跟踪 read ...
- 021.1 IO流——File类
########################################IO流: IO:用于处理设备上的数据的技术.设备:内存,硬盘,光盘 流:系统资源,Windows系统本身就可 ...
- Java的IO流各个类的使用原则
参考:http://blog.csdn.net/ilibaba/article/details/3955799 Java IO 的一般使用原则(花多眼乱,其实每个类都有专门的作用): 这里有详细介绍: ...
- IO流——File类(文件流类)
java语言的输入输出操作是借助于输入输出包java.io来实现的,按传输方向分为输入流与输出流,从外设传递到应用程序的流为输入流,将数据从应用程序输入到外设的流为输出流. File类的构造方法: 1 ...
- Java—IO流 File类的常用API
File类 1.只用于表示文件(目录)的信息(名称.大小等),不能用于文件内容的访问. package cn.test; import java.io.File; import java.io.IOE ...
- Java学习笔记43(打印流、IO流工具类简单介绍)
打印流: 有两个类:PrintStream,PrintWriter类,两个类的方法一致,区别在于构造器 PrintStream:构造方法:接收File类型,接收字符串文件名,接收字节输出流(Outpu ...
随机推荐
- iOS开发- 文件共享(利用iTunes导入文件, 并且显示已有文件)
实现过程: 1.在应用程序的Info.plist文件中添加Application supports iTunes file sharing键,并将键值设置为YES. - (void)viewDidLo ...
- Mysql导出表结构及表数据 mysqldump用法
几个常用用例: 1.导出整个数据库 mysqldump -u 用户名 -p 数据库名 > 导出的文件名 mysqldump -u wcnc -p smgp_apps_wcnc > ...
- a标签中关于javascript:void(0)的几个问题
最近看了好几个关于<a>标签和javascript:void(0)的帖子,谨记于此,以资查阅.注:以下代码未经全面测试,但每一种方法可能会出现的情况都基本做了说明. 在做页面时,如果想做一 ...
- SQL 四种连接:内连接、左外连接、右外连接、全连接--转载
原文:http://zwdsmileface.iteye.com/blog/2191730 个人理解 内连接(INNER JOIN)(典型的连接运算,使用像 = 或 <> ...
- Fast portable non-blocking network programming with Libevent--转
Learning Libevent Chapter 0: About this document Chapter 1: A tiny introduction to asynchronous IO. ...
- jsp HTTP Status 405 - HTTP method GET is not supported by this URL
package myservlet.control; import java.io.IOException; import java.io.PrintWriter; import javax.serv ...
- Mac Mysql5.7.11安装和卸载
初学者,被mysql的安装弄晕了,所以在此记录一下. 安装 去http://www.mysql.com/downloads/, 选择最下方的MySQL Community Edition,点击MySQ ...
- CSS Selector (part 1)
Selector概述 示例: strong { color: red; } 解释: 这是一个完整 css 规则(标签选择器).strong 叫做选择器,它选择该规则将被应用到 DOM 的那个元素上去. ...
- Redis集群
一.Redis集群原理 集群技术是构建高性能网站架构的重要手段,试想在网站承受高并发访问压力的同时,还需要从海量数据中查询出满足条件的数据,并快速响应,我们必然想到的是将数据进行切片,把数据根据某种规 ...
- Xilinx 网站资源导
Xilinx 网站资源导读 ———版权声明———–本文作者 Ricky Suwww.fpganotes.comrickysu.fpga@gmail.com 欢迎转载,转载请保持原样及署名商业使用须得到 ...