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));
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |