建立FileOutputStream對象時, 若是對應的文件在硬盤上不存在,則會(自動建立 ); 若是對應的文件在硬盤上已經存在,則(覆蓋);若是使用FileOutputStream(String path,boolean append)這個構造方法建立FileOutputStream對象,並給定第二個參數爲true,則效果爲(能夠添加參數)java
建立FileOutputStream時(不會)產生異常 (流的分類)對於FileInputStream來講,從方向上來分,它是(輸入)流,從數據單位上分,它是(字節)流,從功能上分,它是(輕級流)(字節流,FileInputStream)數組
FileInputStream有三個重載的read方法,其中1)無參的read方法返回值爲(int)類型,表示(下一個數據字節;若是已到達文件未尾,則返回-1)app
2)int read (byte[]bs)方法返回值表示(讀入緩衝區的字節總數,若是由於已經到達文件未尾而沒有更多 數據,則返回-1),參數表示(存儲讀取數據的緩衝區)code
3)int read (byte [] bs,int offset,int len)方法返回值表示(讀入緩衝區的字節總數,若是由於已經到達文件未尾而沒有更多的數據,則返回-1),參數分別表示(b:存儲讀取數據的緩衝區 off:目標數組 b中的起始偏移量,len讀取的最大字節數)對象
(FileInputStream)下面關於FileInputStream 類型說法正確的是:a A. 建立FileInputStream 對象是爲了讀取硬盤上的文 B. 建立FileInputStream 對象時,若是硬盤上對應的文件不存在,則拋出一個異常 C. 利用FileInputStream 對象能夠建立文件 D. FileInputStream 對象讀取文件時,只能讀取文本文件。資源
複製一個文檔到別一個文檔中 package org.jsoft.zouye;作用域
import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.FileInputStream; import java.io.IOException; import java.io.OutputStream; import java.io.InputStream; public class Copy { public static void main(String[] args) { File f=new File("f:"+File.separator+"creat.txt");//寫入一個要粘貼的文檔 File f1=new File ("f:"+File.separator+"copy.txt");//寫入一個要被複制的新文檔文檔
OutputStream so1=null;/寫出 OutputStream so=null;//寫出 InputStream in=null;//寫入 try { so=new FileOutputStream(f1); in=new FileInputStream(f1); for(int i=97;i<124;i++){//要被複制文檔中的內容 so.write(i);
} so1=new FileOutputStream(f);//要加入內容的文檔 byte[ ]b1=new byte[(byte) f1.length()];//建立一個數組存入f1中的元素 in.read(b1);//讀取f1中的內容,並放入b1中字符串
for(int i=0;i<b1.length;i++){ so1.write(b1[i]);//依次把b1中的元素存入新的文檔 } } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ try { so.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
} }get
package org.jsoft.zouye;
import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream;
public class TestOutAdd { public static void main(String[] args) { File f=new File("f:"+File.separator+"test.txt");//建立一個test文檔 OutputStream os=null;//擴大做用域 InputStream is=null; try { os=new FileOutputStream(f,true);//建立一個新的輸出流,f表明要定入的文檔,true表示 is=new FileInputStream(f);//讀取文件 //若是存在則將字節定入文件未尾處 String s="hello,world";//要寫入的字符串 byte b[]=s.getBytes();//將字符串轉換成byte os.write(b);//寫入b byte b1[]=new byte[200];//定義一個新的數組 int in=is.read(b1);//讀取b1中的元素 String str=new String (b1,0,50);//在b1文檔從0到200 System.out.println(str);//輸出文檔中的元素
} catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{//釋放資源 try { os.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
} }