J2SE第八章——IO输出输出流(InputStream、OutPutStream、Reader、Writer)

3. InputStream

         3.1 部分概念名词

 

         节点流:和数据源“直接”对接的流

                   FileInputStream  ByteArrayInputStreamStringBufferInputStraem  PipedInputStream

         处理流:反之节点流

                   FileterInputStreamSequenceInputStream  ObjectInputStream

 

        3.2InputStream 的基本方法

                   intread()   throws IOException

                   intread(byte[] buffer)

                   void close(){}

 

4. OutputStream

         4.1

         字节流:

                   FileOutputStream  ByteArrayOutputStream  PipedOutputStream

         处理流:

                   FileterOutputStream 

 

         4.2

                   void write()

                   void close()

                   voidflush()  刷新 close()之前默认flush(){}

 

5. Reader

         5.1

         字节流:

                   CharArrayReaderPipedReader  StringReader FileReader--(孙子)

         处理流:

                   BufferedReadInputStream  FilterReader--(儿子)

 

        

         FileInputStream----->  InputStreamReader ---->BufferedReader  readLine()

         字节流向字符流转化  ---->把双字节组装成字符,避免乱码

         字符缓冲流:减少和内存的交互

         readLine(){} 从字符缓冲流中读取字符,将\n之前的字符转换成字符串返回-------按行读取

public static void m5() throws Exception {
	FileInputStream fis = new FileInputStream("e:\\a\\01.txt");
	InputStreamReader isr = new InputStreamReader(fis);
	BufferedReader br = new BufferedReader(isr);

	String str = null;
	while ((str=br.readLine())!=null) {
		System.out.println(str);
	}
}

6.PrintStream

 

         System.out.println()

                   System 类名

                   out静态变量(基本型变量/引用型变量?)-----引用型变量  会指向某个对象,

                   那么该对象的类型是什么?----PrintStream

                   println() : 非静态方法,那么一定属于某个对象,那么这个对象是谁?

                                   ----out这个变量所指向的那个对象的方法

 

                 PrintStream----->  OutputStream(内存 -- out决定了默认数据源是命令行窗口)

                    out变量所指向那个的输出流,默认的数据源是“命令行窗口”

                     PrintStream 处理流:不能与数据源直接相连 

                                            搭建一个节点流  FileOutputStream

                                             不会抛出IOException异常 不用catch

                                              println()调用之后,能够自动刷新flush()


import java.io.*;
public class Teat {
	public static void main(String[] args) {

	}

	public static void m1() {
		try {
			File file = new File("e:\\a\\02.txt");

			PrintStream ps = new PrintStream(new FileOutputStream(file));

			ps.println("hello java!");
			ps.flush();

			} catch (FileNotFoundException) {
				e.printStackTrace();
			} finally {

			}
				
	}
}

7.PrintWriter

         PrintWriter extendsWrite

         PrintWriter 处理流-----> 节点流 (字节/字符)

         不会抛出IOException异常

         println()调用之后,能够自动刷新flush

 

                   publicPrintWriter(OutputStream out)

 

                   内存----->PrintWriter/PrintStream--------> OutputStream/FileOutputStream----->文件/数据源

                            和数据源直接对接的“节点流”是不变的,变化的是节点流外面包裹的“处理流”


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值