//讀取一個字節並以整數的形式返回(0-255)
//如果返回-1已到輸入流的末尾
int read() throws IOException
//讀取一系列字節並存儲到一個數組buffer,//返回實際讀取的字節數,如果讀取前已到輸入流的末尾返回-1
int read(byte [] buffer) throws IOException
//讀取length個字節
//並存儲到一個字節數組buffer,從length位置開始
//返回實際讀取的字節數,如果讀取前已到輸入流的末尾返回-1
int read(byte [ ] buffer,int offset,int length)
throws IOException
//關閉流釋放內存資源
void close() throws IOException
// 跳過 n個字節不讀,返回實際跳過的字節數
long skip(long n) throws IOException
package com.io.liushuaishuai; import java.io.FileInputStream; import java.io.IOException; public class FileInputStreamDemo01 { public static void main(String[] args) throws IOException { // FileInputStream(String name) // 通過打開與實際文件的連接來創建一個 FileInputStream , // 該文件由文件系統中的路徑名 name命名。 FileInputStream fis = new FileInputStream("myIOstream\\fos.txt"); // read() 從該輸入流讀取一個字節的數據。 /*//第一次讀取數據 int i = fis.read(); //System.out.println(i); System.out.println((char) i); //第二次讀取數據 int k = fis.read(); //System.out.println(i); System.out.println((char) k); */ /* //到達文件末尾,返回值為-1; int i = fis.read(); while (i != -1) { System.out.print((char)i); i = fis.read(); } */ //優化上面的程序 int i; while ((i = fis.read()) != -1) { System.out.print((char) i); } fis.close(); } }
不需要人為加換行符
=============================================================================================================================================
字節流復制文本文件
package com.io.liushuaishuai; import java.io.FileInputStream; import java.io.IOException; public class FileInputStreamDemo02 { public static void main(String[] args) throws IOException { //創建字節輸入流對象 FileInputStream fis = new FileInputStream("myIOstream\\fos.txt"); /* byte[] bys = new byte[5]; //第一次讀取數據 int i = fis.read(bys); System.out.println(new String(bys,0,i)); //第二次讀取數據 i = fis.read(bys); System.out.println(new String(bys,0,i)); i = fis.read(bys); System.out.println(new String(bys,0,i)); */ byte[] bys = new byte[1024]; int len; while ((len =fis.read(bys)) != -1 ) { System.out.println(new String(bys,0,len));//
String(byte[] bytes, int offset, int length) |
通過使用平台的默認字符集解碼指定的字節子陣列來構造新的
String 。
|
---|
} //釋放資源 fis.close(); } }
字節流復制圖片
package com.io.liushuaishuai; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; public class CopyjpgDemo { public static void main(String[] args) throws IOException { //根據數據源創建字節輸入流對象 FileInputStream fis = new FileInputStream("C:\\壁紙\\index.jpg"); //創建字節輸出流對象 FileOutputStream fos = new FileOutputStream("myIOstream\\index.jpg"); //讀取數據 byte[] bys = new byte[1024]; int len; while ((len = fis.read(bys))!= -1) { fos.write(bys,0,len); } fos.close(); fis.close(); } }