Java中,I/O操做表明着輸入、輸出,Java全部的I/O機制都是基於數據流進行輸入輸出。java.io類包提供了不少的輸入輸出處理功能方法,你們能夠參考下JDK文檔中關於I/O的一些處理方法:JDK在線中文文檔。java
數據流是一串接二連三的數據的集合,在Java中常見的基本流通常指:InputStream、OutputStream、Reader、Writer這四個,其餘的都是他們派生出來的子類。他們之間也是有區別的:InputStream、OutputStream是處理8位的字節流數據,Reader、Writer是處理16位的字符流數據,相互間能夠轉化,這裏不作詳述了。數據庫
數據流的使用多見於文件操做,如文件的讀寫,下面就以文件操做來講下I/O。api
文件File類提供了不少的方法能夠獲取指定文件的屬性,如文件大小、修改時間等,而在Java中文件和文件夾都是統一由File進行管理,因此提供了isFile()和isisDirectory()方法來判斷是否爲文件或文件夾。下面經過一個實例來熟悉下其中一種讀寫操做:app
/* * 替換文本文件內容 */ File file = new File("D:\\Yoki\\a.txt"); FileReader fir = null; FileWriter fiw = null; StringBuilder sBuilder = new StringBuilder(); char[] temp = new char[1024]; if(file != null){ try { //建立文件讀流 fir = new FileReader(file); //讀入文件中的內容 while((fir.read(temp))!=-1){ sBuilder.append(temp); } //替換字符串 String str = sBuilder.toString().replace("on", "in"); //建立文件寫流 fiw = new FileWriter(file); fiw.write(str); }catch (FileNotFoundException e) { e.printStackTrace(); }catch (IOException e) { e.printStackTrace(); }finally{ try { //釋放資源 fiw.close(); fir.close(); }catch (IOException e) { e.printStackTrace(); } } }
運行後能夠看到文本文件中的字符串已被替換了。上面的實例中須要注意幾點:文件類File的使用,流的建立使用,資源釋放的問題,try-catch代碼塊捕獲異常等。ui
在讀取文本文件時,可使用BufferReader類,它的readLine()方法能夠方便的從文件中讀入一行數據,返回讀入的字符串,聲明以下:.net
public String readLine() throws IOExceptoin
注意:在向MYSQL中保存圖片時,數據庫表中對應字段的類型應該是TINYBLOB、BLOB、MEDIUMBLOB或者LONGBLOB之一。code
其餘的輸入輸出流這裏不一一詳述了,使用大都是同樣的,你們能夠本身嘗試編寫實例驗證。圖片