1. 程式人生 > >黑馬程式設計師——IO的進一步學習

黑馬程式設計師——IO的進一步學習

                                            ------- android培訓java培訓、期待與您交流! ----------

今天視訊主要學習了,緩衝區在IO中的運用,以及裝飾模式與 字元流和位元組流的轉換。

import java.io.*;
class BufferedReaderDemo 
{
 public static void main(String[] args) throws IOException
 {
  //建立流物件與檔案關聯
  FileReader fr=new FileReader("e:\\lianxi.txt");
  BufferedReader bufr=new BufferedReader(fr);
  //String s1=bufr.readLine();
  //System.out.println("顯示"+s1);
  String line=null;
  while((line=bufr.readLine())!=null)
  {
   System.out.println("顯示:"+line);
  }
 }
}



一個小練習,通過緩衝區來複制檔案,自己使用try,catch方法處理異常。

import java.io.*;
class  CopyBuffer
{
 public static void main(String[] args) 
 {
  BufferedReader bufr=null;
  BufferedWriter bufw=null;
  try
  {
   bufr=new BufferedReader(new FileReader("d:\\java\\IfTest.java"));
   bufw=new BufferedWriter(new FileWriter("d:\\jad\\copy.txt"));
   String line=null;
   while((line=bufr.readLine())!=null)
   {
    bufw.write(line);
    //System.out.println(line);
    bufw.newLine();
    bufw.flush();
   }
   
  }
  catch (IOException e)
  {
   throw new RuntimeException("緩衝失敗");
  }
  finally 
  {
   try
   {
    if(bufr!=null)
          bufr.close();
   }
   catch (IOException e)
   {
    throw new RuntimeException("緩衝失敗");
   }
   try
   {
    if(bufw!=null)
          bufw.close();
   }
   catch (IOException e)
   {
    throw new RuntimeException("緩衝失敗");
   }
   
  }
 }
}

由於圖片不涉及到字元,所以不能用字元流。這裡練習用位元組流來複製圖片。

import java.io.*;

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

	{	FileOutputStream fos=null;
		FileInputStream fis=null;
		try
		{
			byte[] buf=new byte[1024];
			fos=new FileOutputStream("e:\\tupian.jmp");
			fis=new FileInputStream("f:\\圖片\\2234.jpg");
			int len=0;
			while((len=fis.read(buf))!=-1)
			{
				fos.write(buf,0,len);
			}
		}
		catch (IOException e)
		{
			throw new RuntimeException("複製檔案失敗");
		}
		finally 
		{
			try
			{
				if(fis!=null)
					fis.close();
			}
			catch (IOException e)
			{
				throw new RuntimeException("關閉輸入流失敗");
			}
			try
			{
				if(fos!=null)
					fos.close();
			}
			catch (IOException e)
			{
				throw new RuntimeException("關閉輸出流失敗");
			}
		
		}

		
	}
}	


                                    ------- android培訓、java培訓、期待與您交流! ----------
                                            詳細請檢視:http://edu.csdn.net/heima/