JavaWeb入门(四) I/O
标签(空格分隔): JavaWeb
原文地址
File类
File 类是 I/O 操作中最常用的类。它的常用方法有:
exists() 文件是否存在
isFile() 是否是文件
isDirectory() 是否是目录
createNewFile() 创建文件
delete() 删除文件或空文件夹
renameTo(File dest) 重命名,可以是不同目录,但不能是不同盘符
mkdir() 创建单级文件夹
mkdirs 可创建多级文件夹
文件属性的读取和设置:
file.length() 文件的大小,单位:byte
file.getParent() 父目录的相对路径
file.getAbsolutePath() 文件的绝对路径
例:如何得到父级目录的绝对路径
讯享网canWrite() o基础java入门 文件可写性
canRead() 文件可读性
setReadable(true) 设置文件为可读
setWritable(false) 设置文件为不可写
文件的简单读写
读取方式
1. FileInputStream 文件数据输入为字节流
2. InputStreamReader 字节流到字符流的桥梁,从名称中也能看出这是InputStream 的Reader。
3. BufferedReader 读取字符流的缓冲区。

例:
讯享网
写入方式:
1. FileOutputStream 文件数据输出为字节流
2. OutputStreamWriter 字符流与字节流的桥梁
3. BufferedWriter 写入字符流缓冲区
字符流与字节流的区别
字节流通常以Stream 结尾,如文字,图片,流媒体(音视频),字节流以字节为单位对文件或其他输入进行读取。
字符流通常以Reader, Writer 结尾,它只能处理文本类型数据,它每次读取一个或多个字节,在去查询指定编码表如UTF-8然后返回字符。
如何使用字节流进行数据的读写?
利用FileInputStream 的read() 和 FileOutputStream 的 write 方法。
例:
注:
- 这里是利用FileInputStream 的read() 的方法直接读入一个byte 数组中,然后再将这个byte 数组转为字符串。
- 这个length 是非常重要的,它记录了每次实际读入byte 数组中的字节个数。如何不考虑这点,可能会产生乱码。
- 同理,可利用FileOutputStream 的 write() 的方法写入一个byte 数组。
直接使用字符流进行读写
上面的例子我们是通过字节流的方式进去读取的,然后将读取的字节数组转为字符串。而借助InputStreamReader 和 OutputStreamWriter 我们可以直接读取字符流。
例
讯享网
实际开发
在实际开发中,有许多优秀的I/O 库供我们使用,我们因此无需重复造轮子。
如: Apache.org 下 的commons包提供了对I/O 操作的封装。
因此: 学会使用第三方库可以大大提高我们的开发效率。
例:读取指定目录下的某种文件
输出结果示例:
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/8906.html