Java基础知识 十三 IO流(下)

来源:互联网 发布:c语言access violation 编辑:程序博客网 时间:2024/05/16 09:24

1.IO流中还包含了其他流,如下:

 

2..数据操作流(操作基本类型数据的流)
 (1)可以操作基本类型的数据
 (2)流对象名称 
  DataInputStream
  DataOutputStream

 

3:内存操作流
 (1)有些时候我们操作完毕后,未必需要产生一个文件,就可以使用内存操作流。
 (2)三种
  A:ByteArrayInputStream,ByteArrayOutputStream
  B:CharArrayReader,CharArrayWriter
  C:StringReader,StringWriter

 

4:打印流
 (1)字节打印流,字符打印流
 (2)特点:
  A:只操作目的地,不操作数据源
  B:可以操作任意类型的数据
  C:如果启用了自动刷新,在调用println()方法的时候,能够换行并刷新
  D:可以直接操作文件
   问题:哪些流可以直接操作文件呢?
   看API,如果其构造方法能够同时接收File和String类型的参数,一般都是可以直接操作文件的
 (3)复制文本文件
  BufferedReader br = newBufferedReader(new FileReader("a.txt"));
  PrintWriter pw = newPrintWriter(new FileWriter("b.txt"),true);
  String line = null;
  while((line=br.readLine())!=null){
   pw.println(line);
  }
  
  pw.close();
  br.close();
   
5:标准输入输出流
 (1)System类下面有这样的两个字段
  in 标准输入流
  out 标准输出流
 (2)三种键盘录入方式
  A:main方法的args接收参数
  B:System.in通过BufferedReader进行包装
   BufferedReaderbr = new BufferedReader(new InputStreamReader(System.in));
  C:Scanner
   Scanner sc =new Scanner(System.in);
 (3)输出语句的原理和如何使用字符流输出数据
  A:原理
   System.out.println("helloworld");  
   PrintStreamps = System.out;
   ps.println("helloworld");
  B:把System.out用字符缓冲流包装一下使用
   BufferedWriterbw = new BufferedWriter(newOutputStreamWriter(System.out));

 

6:随机访问流
 (1)可以按照文件指针的位置写数据和读数据。
 (2)案例:
  A:写数据
  B:读数据
  C:获取和改变文件指针的位置

 

7:合并流
 (1)把多个输入流的数据写到一个输出流中。
 (2)构造方法:
  A:SequenceInputStream(InputStreams1, InputStream s2)
  B:SequenceInputStream(Enumeration

0 0