黑马程序员技术交流社区

标题: IO小结来了 [打印本页]

作者: 郝佳轩    时间: 2015-8-30 22:19
标题: 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));





作者: 冯贝    时间: 2015-8-30 22:21
IO是不是很难学啊?
作者: G_Y_C黑马    时间: 2015-8-30 22:32
还没学到,先收藏下了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2