Java中的IO流,Input和Output的用法,字节流和字符流的区别

Java中的IO流:就是内存与设备之间的输入和输出操作就成为IO操作,也就是IO流。内存中的数据持久化到设备上--------》输出(Output)。把 硬盘上的数据读取到内存中,这种操作 成为输入-----》读(Input)。

input和output的参照物都是Java程序来参照

Input:读  持久化上的数据------》内存 父类 InputStream

output:写  内存---------》硬盘  父类OutputStream

IO程序书写流程:

  1 使用前   导包 IO包中的类(import java.io.*)

  2   使用中   进行异常的处理

  3 使用后     释放资源(close())

例子如下:

OutputStream字节输出流的用法(写):

 1 package com.aaa.demo;
 2 
 3 import java.io.FileNotFoundException;
 4 import java.io.FileOutputStream;
 5 
 6 /*
 7  * FileOutputStream 写入数据文件 学习父类的方法 使用子类的对象
 8  * 子类中的构造方法 作用:绑定输出的目的的
 9  * File封装的文件
10  * String字符串的文件夹
11  * */
12 public class FileOutputStreamDemo {
13     public static void main(String[] args) throws Exception {
14         //创建流子类对象 绑定数据目的
15         FileOutputStream fos=new FileOutputStream("c:\\aaa.txt");
16         //调用write()方法 写一个字节
17         fos.write(97);
18         //2.1写字节数组
19         byte[] b={65,66,67,68};
20         fos.write(b);
21         //2.2写字节数组的一部分
22         fos.write(b,1,2);
23         //2.3写字符串 getBytes()字符串转字节
24         fos.write("hello world".getBytes());
25         //3.close关闭资源
26         fos.close();
27     }
28 }

InputStream字节输入流的用法(读):

 1 package cn.lijun.demo1;
 2 
 3 import java.io.FileInputStream;
 4 import java.io.FileNotFoundException;
 5 import java.io.FileOutputStream;
 6 import java.io.IOException;
 7 
 8 // 1创建字节输入流的子类对象
 9 //2 调用方法读取 read
10 //3 关闭资源
11 
12 public class FileInputStreamDemo {
13     public static void main(String[] args) {
14         try {
15             FileInputStream fis = new FileInputStream("c:\\aaa.txt");
16             int len =0;
17             while((len=fis.read())!=-1){
18                 System.out.print((char)len);
19             }
20         } catch (IOException e) {
21             // TODO Auto-generated catch block
22             e.printStackTrace();
23         }
24     }
25 }

字节流和字符流的相同和区别:

  相同点:两类都分为输入和输出操作。

  不同点:1、字节流可用于任何类型的对象;分为InputStream(读)和OutputStream(写)两部分完成输入和输出;主要用来处理字节或二进制对象,,不能处理Unicode字符。

      2、字符流分别操作字符、字符数组或字符串;分为Writer类和Reader类完成;主要用来处理字符或者字符串,可以处理Unicode字符。

猜你喜欢

转载自www.cnblogs.com/yanpingping/p/10594550.html