

//讀取一個字節並以整數的形式返回(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();
}
}
