IO流部分知识总结一

今天是IO流学习的第二天,今天上课有点走神,注意力不太集中,可能是晚上睡晚了,今天要早点睡,为明天上课提高效率。

 

1,流的操作规律。四个明确必须记住,并应用?

(1)明确一:源和目的

源: Reader  InputStream

目的:Writer OutputStream

(2)明确二:是否为纯文本

是纯文本:Reader Writer

不是纯文本:InputStream OutputStream

(3)明确三:具体的设备

硬盘:file

键盘:System.in

内存:数组

网络:socket流

(4)明确四:是否需要额外功能

缓冲区

BufferedReader bufr = new BufferedReader();

BuuferedWriter bufw = new BufferedWriter();

2,将提到的5个需求必须全用 需求,规律(思路),代码,来体现?必须做!!!

需求一:复制一个文本文件。

(1)明确一:源和目的

源: Reader  InputStream

目的:Writer OutputStream

(2)明确二:是否为纯文本

是纯文本:Reader Writer

(3)明确三:具体的设备

硬盘:file

硬盘file

FileReader  FileWriter

FileReader fr = new FileReader("a.txt");

FileWriter fw = new FileWriter("b.txt");

(4)明确四:是否需要额外功能

需要缓冲区

BufferedReader bufr = new BufferedReader(new FileReader("a.txt"));

BufferedReader bufr = new BufferedReader(new FielWriter("b.txt"));

需求二:读取键盘录入信息,并写入到一个文件中

(1)明确一:源和目的

源: Reader  InputStream

目的:Writer OutputStream

(2)明确二:是否为纯文本

是纯文本:Reader Writer

(3)明确三:具体的设备

键盘:System.in

硬盘  file

InputStream ips = System.in

FileWriter fw = new FileWriter("b.txt");

(4)明确四:是否需要额外功能

需要转换

InputStreamReader isr = new InputStreamReader(System.in);

FileWriter fw = new FileWriter("b.txt");

需要高效

BufferedReader bufr = new BufferedReader(new InputStreamReader(System.in));

BufferedWriter bufw = new BufferedWriter(new FileWriter("b.txt"));

需求三:将一个文本文件数据显示在控制台上

(1)明确一:源和目的

源: Reader  InputStream

目的:Writer OutputStream

(2)明确二:是否为纯文本

是纯文本:Reader Writer

(3)明确三:具体的设备

硬盘  file

控制台:System.out

FileReader fr = new FileReader("b.txt");
OutputStream ops = System.out

(4)明确四:是否需要额外功能

需要转换

FileReader fr = new FileReader("b.txt");

OutputStreamWriter isw = new OutputStreamWriter(System.out);

需要缓冲区

BufferedReader bufr = new BufferedReader(new FileReader("b.txt"));

BufferedWriter bufw = new BufferedWriter(new OutputStreamWriter(System.out));

需求四:读取键盘录入数据,显示在控制台上

(1)明确一:源和目的

源: Reader  InputStream

目的:Writer OutputStream

(2)明确二:是否为纯文本

是纯文本:Reader Writer

(3)明确三:具体的设备

键盘  System.in

控制台:System.out

InputStream ips = System.in
OutputStream ops = System.out

(4)明确四:是否需要额外功能

需要转换

InputStreamReader isr = new InputStreamReader(System.in);

OutputStreamWriter isw = new OutputStreamWriter(System.out);

需要缓冲区

BufferedReader bufr = new BufferedReader(new InputStreamReader(System.in));

BufferedWriter bufw = new BufferedWriter(new OutputStreamWriter(System.out));

需求五:将一个中文字符串数据按照指定的编码表写入到一个文本文件中.

(1)明确一:源和目的

目的:Writer OutputStream

(2)明确二:是否为纯文本

是纯文本: Writer

(3)明确三:具体的设备

硬盘:File
FileWriter fw = new FileWriter("a.txt");

(4)明确四:是否需要额外功能

需要转换

OutputStreamWriter osw = new OutputStreamWriter(new FileWriter("a.txt"),charsetName);

需要高效

BufferedReader bufr = new BufferedReader(new OutputStreamWriter(new FileWriter("a.txt"),charsetName));

3,File对象基本使用。了解创建,删除,获取,判断等。

1:创建。

boolean createNewFile():在指定目录下创建文件,如果该文件已存在,则不创建。

而对操作文件的输出流而言,输出流对象已建立,就会创建文件,如果文件已存在,会覆盖。除非续写。

boolean mkdir():创建此抽象路径名指定的目录。

boolean mkdirs():创建多级目录。 

2:删除。

boolean delete():删除此抽象路径名表示的文件或目录。

void deleteOnExit():在虚拟机退出时删除。

注意:在删除文件夹时,必须保证这个文件夹中没有任何内容,才可以将该文件夹用delete删除。

window的删除动作,是从里往外删。

注意:java删除文件不走回收站。要慎用。

3:获取.

long length():获取文件大小。

String getName():返回由此抽象路径名表示的文件或目录的名称。

String getPath():将此抽象路径名转换为一个路径名字符串。

String getAbsolutePath():返回此抽象路径名的绝对路径名字符串。

String getParent():返回此抽象路径名父目录的抽象路径名;如果此路径名没有指定父目录,则返回 null。

long lastModified():返回此抽象路径名表示的文件最后一次被修改的时间。

File.pathSeparator:返回当前系统默认的路径分隔符,windows默认为 “;”。

File.Separator:返回当前系统默认的目录分隔符,windows默认为 “\

4:判断:

boolean exists():判断文件或者文件夹是否存在。

boolean isDirectory():测试此抽象路径名表示的文件是否是一个目录。

boolean isFile():测试此抽象路径名表示的文件是否是一个标准文件。

boolean isHidden():测试此抽象路径名指定的文件是否是一个隐藏文件。

boolean isAbsolute():测试此抽象路径名是否为绝对路径名。

5:重命名。

 boolean renameTo(File dest):可以实现移动的效果。剪切+重命名

4,File对象的过滤器。

在file的list方法中可以接受一个filefilter参数,通过该参数可以只列出符合条件的文件。

FileFilter接口里面包含了一个accept(File dir, String name)方法,该方法将依次对指定的file所有子目录、子文件夹进行迭代,如果该方法返回true,则list方法会列出该子目录或者子文件夹。通过实现accept方法就是指定自己的规则,指定那些文件需要由list方法列出。

5,转换流的由来?

转换流是字符和字节之间桥梁。

转换流将字节流和编码表进行了封装,提供了对字符操作的更便捷方式。

6,转换流的两个桥梁都是从哪里到哪里?

InputStreamReader 将字节输入流转成字符输入流 

OutStreamWriter 将字节输出流转成字符输出流

7,转换流的另一个功能,编码的体现?

一旦操作文本涉及到具体的编码表时,必须使用转换流

8,转换流的子类和转换流的区别?

InputStreamReader   字节-->字符

|--FileReader : 字节流+本地默认码表。

OutputStreamWriter  字符-->字节

|--FileWriter

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值