zoukankan      html  css  js  c++  java
  • 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字符。

  • 相关阅读:
    一个完整的Http请求
    struts2回显指定的错误信息
    Struts2中的OGNL通配符
    hibernate日常BUG总结
    Hibernate中的GetCurrentSession()方法
    hibernate query.list() 返回的数据类型
    xp远程桌面登陆需要身份验证问题解决
    spring和hibernate整合时无法自动建表
    Spring的scope="prototype"属性
    给程序员的九点建议
  • 原文地址:https://www.cnblogs.com/yanpingping/p/10594550.html
Copyright © 2011-2022 走看看