javaIO编程Word格式文档下载.docx
- 文档编号:22931523
- 上传时间:2023-02-06
- 格式:DOCX
- 页数:11
- 大小:192.04KB
javaIO编程Word格式文档下载.docx
《javaIO编程Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《javaIO编程Word格式文档下载.docx(11页珍藏版)》请在冰豆网上搜索。
publicstaticvoidmain(String[]args){
//创建File对象
Filefile=newFile("
notes.txt"
);
Filedir=newFile("
E:
\\project"
System.out.println("
file是否是文件:
"
+file.isFile());
dir是否是目录:
+dir.isDirectory());
file是否可读:
+file.canRead());
file是否存在:
+file.exists());
}
}
File类中的list()和listFiles()方法
publicclassTestFileList{
Filefile=newFile("
D:
\\test"
String[]fileNameList=file.list();
//使用list方法
for(Strings:
fileNameList){
System.out.println(s);
}
File[]fileList=file.listFiles();
//使用listFiles方法
for(Filef:
fileList){
System.out.println(f.getAbsolutePath());
文件名过滤器
文件名过滤器接口:
interfaceFilenameFilter
常用于过滤不符合规格的文件名
需重写accept方法自定义过滤规则,如下:
booleanaccept(Filedir,Stringname)
--dir:
表示文件的当前目录。
--name:
表示当前目录的子目录或者文件的名字。
File类中提供了使用文件名过滤器遍历目录的方法:
String[]list(FilenameFilter
filter)
--把满足指定过滤条件的文件和目录,返回到String数组中。
File[]listFiles(FilenameFilter
filter)
--把满足指定过滤条件的文件和目录,返回到File数组中。
文件过滤器接口:
interfaceFileFilter
常用于检测文件是否存在
需重写accept方法自定义过滤规则,如下
booleanaccept(FilepathName)
--pathName:
File类中提供了使用文件过滤器遍历目录的方法:
3输入流与输出流
最顶级的几个父类,InputStreamOutputStreamReaderWriter它们都是抽象类。
这些输入输出流,按照不同角度,可以有三种分类方式,接下来学习三种不同分类。
流按着数据的传输方向分为:
-输入流:
往内存中读叫输入流。
-输出流:
从内存中往外写叫输出流。
所有输入流都是InputStream类或者Reader类的子类。
-类名以InputStream结尾的类都是InputStream的子类。
-类名以Reader结尾的类都是Reader类的子类。
所有输出流都是OutputStream类或者Writer类的子类。
-类名以OutputStream结尾的类都是OutputStream的子类。
-类名以Writer结尾的类都是Writer类的子类。
7字节流与字符流
从数据流编码格式上划分为
-字节流
-字符流
InputStream和OutputStream的子类都是字节流
-可以读写二进制文件,主要处理音频、图片、歌曲、字节流,处理单元为1个字节。
Reader和Writer的子类都是字符流
-主要处理字符或字符串,字符流处理单元为2个字节。
-字节流将读取到的字节数据,去指定的编码表中获取对应文字。
字节流中常用类
-字节输入流FileInputStream
-字节输出流FileOutputStream
字符流中常用类
-字符输入流FileReader
-字符输出流FileWriter
8节点流与处理流
根据封装类型不同,可以分为节点流和处理流。
根据封装类型不同流又分为
-节点流
-处理流
节点流:
-如果流封装的是某种特定的数据源,如文件、字符串、字符串数组等,则称为节点流。
处理流。
-如果流封装的是其它流对象,称为处理流。
-处理流提供了缓冲功能,提高读写效率。
节点流中常用类
-字符输出流FileWriter
处理流中常用类
-缓冲字节输出流BufferedOutputStream
-缓冲字节输入流BufferedInputStream
-缓冲字符输入流BufferedReader
-缓冲字符输出流BufferedWriter
缓冲区原理:
-缓冲区的概念。
-缓冲区的作用:
要对操作的数据进行临时的缓存,提高了读写效率。
-缓冲区如何提高读写效率。
处理流的特点:
-字符缓冲输入流提供了读取一行的方法readLine()。
-字符缓冲输出流提供了写入一个空行的方法newLine()。
-字符缓冲输出流,把写入的数据先写入到内存,再使用flush()方法将内存数据刷到硬盘上。
注意:
在使用字符缓冲输出流时,一定先flush(),然后再close(),避免数据的丢失。
9字节流与字符流的转换
转换流的由来:
-字符流与字节流之间的桥梁
-方便了字符流与字节流之间的操作
转换流的应用:
-字节流中的数据都是字符时,转成字符流操作更高效
字节流转换成字符流的桥梁:
-InputStreamReader
InputStreamReader(InputStreamin)
InputStreamReader(InputStreamin,StringcharsetName)
-OutputStreamWriter
OutputStreamWriter(OutputStreamout)
OutputStreamWriter(OutputStreamout,StringcharsetName)
它读入字节,并根据指定的编码方式,将之转换为字符流。
使用的编码方式可能由名称指定,或平台可接受的缺省编码方式。
字节流转换成字符流图解(伪代码)
11Scanner类
Scanner类位于java.util包中,不在java.io包中,不属于IO流
Scanner是一个工具类,主要目标是简化文本的扫描,最常使用此类获取控制台输入
Scanner获取控制台输入的步骤
1、使用控制台输入创建Scanner对象
Scannerscanner=newScanner(System.in);
2、调用Scanner中的nextXXX方法,获得需要的数据类型
例如:
next、nextLine、nextInt、nextByte等
IO流一览表:
-JavaSE所提供的所有流位于java.io内
-分别继承以下四种抽象流类型
字节输入流
字节输出流:
字符输入流:
字符输出流:
流操作的基本规律
明确源和目的:
源:
输入流。
InputStreamReader
目的:
输出流。
OutputStreamWriter。
操作的数据是否是纯文本:
是:
字符流。
不是:
字节流。
明确具体设备来进行区分:
源设备:
内存,硬盘。
键盘
目的设备:
内存,硬盘,控制台。
是否有其它额外功能:
是否高效:
是(加缓冲区)
否(不加缓冲区)
流操作:
-需求:
复制一个文本文件。
是。
源:
Reader
目的:
Writer
硬盘File
硬盘File
使用FileFilter,将某个目录下子目录输出。
packagecom.chinasofti.ch19;
importjava.io.File;
importjava.io.FileFilter;
publicclassMyFileFilterimplementsFileFilter{
@Override
publicbooleanaccept(Filepathname){
if(pathname.isDirectory()){
returntrue;
}else{
returnfalse;
使用FilenameFilter,将某个目录下.txt文件输出。
importjava.io.FilenameFilter;
publicclassMyFilenameFilterimplementsFilenameFilter{
publicbooleanaccept(Filedir,Stringname){
if(name.endsWith("
.txt"
)){
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- javaIO 编程