zoukankan      html  css  js  c++  java
  • 【Java】JavaIO(二)、节点流

    一、InputStream & outputStream

      Java字节流主要是以InputStream (输入流),outputStream(输出流)为基类,本身是抽象类不能创建实例,但是是字节流的基类,所以方法都可以使用,主要的方法有

      InputStream:

    1 int read();读取单个字节
    2 int read(byte[] b); 最多读取b.length 字节存储在字节数组b中,返回读取的字节长度
    3 int read(byte[] b, int start, int len);最多读取len字节,存放在数组b中,从b数组的第start位置开始存放

      OutputStream:

    1 void write(int c)
    2 void write(byte[] b) 将b字节数组传入输出流中
    3 void wirte(byte[] b, int start, int len); 将b字节数组中从start开始的len位输出到输出流

    二、Reader & Writer

      Java字符流主要是以Reader(输入流) & Writer(输出流)为基类,本身为抽象类,主要提供的方法有:

      Reader:

    1 int read();读取单个字节
    2 int read(char[] b); 最多读取b.length 字节存储在字节数组b中,返回读取的字节长度
    3 int read(char[] b, int start, int len);最多读取len字节,存放在数组b中,从b数组的第start位置开始存放

      Writer:

    1 void write(int c)
    2 void write(char[] b) 将b字节数组传入输出流中
    3 void wirte(char[] b, int start, int len); 将b字节数组中从start开始的len位输出到输出流

    ps.所有的输入流输出流需要关闭,尤其是字符流,因为字符流是在关闭的时候会将存在缓存中的数据输出/输入。

    三、文件流

      Java 文件的操作主要有FileInputStream,FileOutStream,FileReader,FileWriter,其中使用如下

     1 package JavaLearning.JavaIO;
     2 
     3 import java.io.*;
     4 
     5 /**
     6  * Created by ZLei on 2017/9/8.
     7  */
     8 public class BaseStreamReaderTest {
     9     public static void main(String[] args) throws IOException{
    10         byte[] bytes = {'1','2'};
    11         byte[] readBytes = new byte[1024];
    12         // 文件字节输出流
    13         FileOutputStream fout = new FileOutputStream("fileOutputStream.txt");
    14         fout.write(bytes);
    15         // 关闭流时,将文件中的缓存输出到文件中。
    16         fout.close();
    17         
    18         // 文件字节输入流
    19         FileInputStream fis = new FileInputStream("fileOutputStream.txt");
    20         int hasRead = fis.read(readBytes);
    21         System.out.println(new String(readBytes,0,hasRead));
    22         fis.close();
    23 
    24         char[] charArr = {'张','z'};
    25         char[] readArr = new char[127];
    26         // 文件字符输出流
    27         FileWriter fw = new FileWriter("fileWriter.txt");
    28         fw.write(charArr);
    29         fw.close();
    30         
    31         // 文件字符输入流
    32         FileReader fr = new FileReader("fileWriter.txt");
    33         int len = fr.read(readArr);
    34         fr.close();
    35         System.out.println(new String(readArr,0,len));
    36 
    37     }
    38 }
  • 相关阅读:
    Reactive Extensions (Rx) 入门(5) —— Rx的事件编程
    Reactive Extensions (Rx) 入门(4) —— Rx的事件编程
    Reactive Extensions (Rx) 入门(3) —— Rx的事件编程
    Reactive Extensions (Rx) 入门(2) —— 安装 Reactive Extensions
    Reactive Extensions (Rx) 入门(1) —— Reactive Extensions 概要
    Xamarin NuGet 缓存包导致 already added : Landroid/support/annotation/AnimRes 问题解决方案
    Android 系统Action大全
    Xamarin Forms 实现发送通知点击跳转
    如何理解灰度发布
    推荐一款分布式微服务框架 Surging
  • 原文地址:https://www.cnblogs.com/zleiblogs/p/7496486.html
Copyright © 2011-2022 走看看