首頁 > 其他

java中java.IO的簡單使用

2019-12-11 00:53:47

   流是不是輸出還是輸入,相對的參照物是記憶體    如果將一個文字檔案的內容輸入到控制台顯示,首先需要    將該檔案的內容讀取到內容,然後輸出到控制台

1

IO流分為位元組流和字元流    如何區分位元組流和字元流     看類的名字來區分,如果流的類名最後一個單詞為Stream,     那麼該流就是位元組流,否則是字元流      IO流分為低階流和高階流    如何區分低階流和高階流:     如果流的操作內容時檔案那麼該流就是低階流,如果該流操作內容是     一個流,那麼該流就是高階流          簡單來說,和檔案打交道的流是低階流。     


2

 如何區分輸入流和輸出流?    流是不是輸出還是輸入,相對的參照物是記憶體    如果將一個文字檔案的內容輸入到控制台顯示,首先需要    將該檔案的內容讀取到內容,然後輸出到控制台 (輸入流)     流 ------>   input輸入流      ------>   output輸出流


3

@Test public void Test01() throws Exception{  String msg="每個人出生的時候都是原創的,可惜漸漸的成為了盜版";  //流會自己建立fos.txt  FileOutputStream fos=new FileOutputStream("fos.txt");  byte[] date=msg.getBytes();  fos.write(date);  fos.close(); }


4

@Test public void test02() throws Exception{  File file=new File("fos.txt");  FileInputStream fis=new FileInputStream(file);  /**   * read(byte[]date)   * 系統會讀取該檔案,一次性嘗試讀取date。lenght的長度,該方法   * 會返回實際讀取到的長度,他也過載了一個方法沒有byte[]陣列在裡面   * 預設讀取一個位元組   *    * 如果read讀取到檔案的末尾,會返回一個-1的值   */  byte[]date=new byte[100];


5

  /**   * 一次嘗試讀取date.的長度個數,返回實際讀到的長度,並且會將對到的位元組內容   * 儲存到date陣列中儲存   */  int len=fis.read(date);  System.out.println(len);  String str=new String(date,0,len);  System.out.println(str); }


6

@Test public void test05() throws IOException{  //高階流  FileOutputStream fos=new FileOutputStream("bos.txt");  BufferedOutputStream bos=new BufferedOutputStream(fos);  String msg="你好";  bos.write(msg.getBytes());  //強制寫出  bos.flush();  //關閉流的時候,會強制寫出緩衝區的資料  bos.close(); }


7

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

Person p=new Person();  p.setName("張無忌");  p.setAge(20);  p.setSalary(9000.0);  FileOutputStream fos=new FileOutputStream("Person-zwj");  ObjectOutputStream oos=new ObjectOutputStream(fos);  oos.writeObject(p);  oos.close();



IT145.com E-mail:sddin#qq.com