Java連載96-FileInputStream方法解析、循環輸出所有內容

1、 ​解析available\skip\close\read(int[] a)方法以及使用read方法循環打印出全部的​內容。java

 

package com.bjpowernode.java_learning;

import java.io.*;

public class D96_1_CircleRead {

  public static void main(String[] args) throws Exception{

    FileInputStream fis = new FileInputStream("C:\\Users\\lenovo1\\Workspaces\\MyEclipse CI\\Java_learning\\src\\com\\bjpowernode\\java_learning\\D95_1_FileInputStreamAnalysis.java");

    byte[] bytes = new byte[1024];

    //1.available方法

    System.out.println(fis.available());

    System.out.println("===========");

    //2.skip方法

    fis.skip(2);//跳過讀取 兩個字節

    System.out.println("===========");   

    //3.循環打印出內容

    while(true) {

      int temp = fis.read(bytes);

      if(temp==-1) break;

      //將byte數組中有效的數據轉換成字符串

      System.out.print(new String(bytes,0,temp));

      //注意這裏是字符串的截取,咱們須要知曉這裏read這個方法的返回值,因此至關於咱們建立了一個數組,用來存儲每一次

      //讀到的1kb,而後1kb,1kb的輸出。之因此會使用0到temp,前面讀取的時候都好說,均可以把數組填滿了,可是當讀到

      //最後的時刻的時候,就會有佔據了數組的一部分,若是咱們使用定長1024那麼就會,把上一次的部份內容打印了出來

    }

   

    //4.int read(byte[] b)從輸入流中最多b.length個字節的數據讀入到byte數組中

   

    System.out.println("===========");

    //能夠看出available方法是用於查看還剩餘多少個字節沒有讀取

    System.out.println(fis.available());

    //5.記得關閉這個流

    fis.close();

  }

}

​

 

2、源碼:node

D96_1_CircleRead.javagit

https://github.com/ruigege66/Java/blob/master/D96_1_CircleRead.javagithub

2.CSDN:https://blog.csdn.net/weixin_44630050數組

3.博客園:https://www.cnblogs.com/ruigege0000/微信

4.歡迎關注微信公衆號:傅里葉變換,我的公衆號,僅用於學習交流,後臺回覆」禮包「,獲取大數據學習資料學習

 

相關文章
相關標籤/搜索