File I/O
第十章
回顾与作业点评
根据你的理解,解释DAO模式?
分层开发的优势和原则?
根据你的理解,说说数据访问层的职责?
2/35
预习检查
什么是流?
简述使用字节流读文本文件的步骤
使用什么流读写字符内容更高效?
3/35
本章任务
操作文件或目录属性
复制文本文件
替换文本文件内容
复制图片
4/35
本章目标
会使用File类操作文件或目录的属性
熟练使用字节流读写文件
熟练使用字符流读写文件
会使用字节流读写二进制文件
5/35
文件3-1
什么是文件?
文件可认为是相关记录或放在一起的数据的集合
文件一般存储在哪里?
JAVA程序如何访问文件属性?
JAVA API :java.io.File 类
6/35
文件3-2
File file = new File( String pathname );
File 类
创建文件对象
物理文件或目录
操作文件或目录的属性
(路径、权限、日期和时间等 )
"c:\\test .txt"
或
"c:/test .txt"
通过文件对象的方法
File类访问文件属性
7/35
文件3-3
方法名称
说 明
boolean exists( )
判断文件或目录是否存在
boolean isFile( )
判断是否是文件
boolean isDirectory( )
判断是否是目录
String getPath( )
返回此对象表示的文件的相对路径名
String getAbsolutePath( )
返回此对象表示的文件的绝对路径名
String getName( )
返回此对象表示的文件或目录的名称
boolean delete( )
删除此对象指定的文件或目录
boolean createNewFile( )
创建名称的空文件,不创建文件夹
long length()
返回文件的长度,单位为字节, 如果文件不存在,则返回 0L
File类的常用方法
8/35
学员操作——操作文件或目录属性
需求说明
实现查看文件属性、创建和删除文件
9/44
共性问题集中讲解
常见问题及解决办法
代码规范问题
调试技巧
共性问题集中讲解
10/44
流 3-1
如何读写文件?
通过流来读写文件
流是指一连串流动的字符,是以先进先出方式发
送信息的通道
InputStream
OutputStream
来自数据源的数据流
流向目的地的数据流
11/44
流 3-2
输入/输出流与数据源
12/44
流3-3
Java流的分类
输入输出流是相对于计算机内存来说的
字节流是 8 位通用字节流,字符流是 16 位 Unicode 字符流
13/44
文件的读写
文本文件的读写
用FileInputStream和FileOutputStream读写文本文件
用BufferedReader和BufferedWriter读写文本文件
二进制文件的读写
使用DataInputStream和DataOutputStream读写二进制文件
14/44
使用FileInputStream 读文本文件
import java.io.IOException;
import java.io.FileInputStream;
FileInputStream fis= new FileInputStream(“c:\\test.txt");
fis.available();
fis.read();
fis.close();
15/44
小结
InputStream类常用方法
int read( )
int read(byte[] b)
int read(byte[] b,int off,int len)
void close( )
int available()
子类FileInputStream常用的构造方法
FileInputStream(File file)
FileInputStream(String name)
16/44
使用FileOutputStream 写文本文件
import java.io.IOException;
import java.io.FileOutputStream;
("c:\\test.txt");
String str ="好好学习Java";
byte[] words = str.getBytes();
fos.write(words, 0, words.length);
fos.close();
使用FileOutputStream 写文本文件的步骤与读文件的步骤有何不同?
FileOutp