国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

Java編程之文件讀寫實例詳解

2019-11-26 14:45:05
字體:
來源:轉載
供稿:網友

本文實例講述了Java編程中文件讀寫的方法。分享給大家供大家參考,具體如下:

Java中文件讀寫操作的作用是什么?

回答這個問題時應該先想到的是Java只是一門語言,我們的一種使用工具而已,這樣答案就明晰了,就是將外來的各種數據寫入到某一個文件中去,用以保存下來;或者從文件中將其數據讀取出來,供我們使用。就如下電影過程,從網絡資源中下載一部電影保存于你電腦中(寫文件),當你想看的時候就用播放器打開(讀文件)。

Java中如何對文件進行讀寫操作?

先理一理,Java中的流分兩種,字節流和字符流,其中字節流的兩個基類是InputStream和OutputStream;字符流的兩個基類是Reader和Writer。所謂文件流,即我們對文件的操作留不開流。由此可知我們要用到某個類必然繼承如上的四個基類之一。Java中一切都是類,一切都是對象。自然會想到文件操作有哪些類:

如下四個直接用到的類:

字節流中:FileInputStream和FileOutputStream
字符流中:FileReader和FileWriter

找到類就好辦事了。剩下來的就是去找實現方法啦。

兩種選擇方案在這里,這就牽涉到我們如何選擇合適的文件讀寫方式呢?

選擇條件的區別:

以字節為單位讀取文件,常用于讀二進制文件,如圖片、聲音、影像等文件。
以字符為單位讀取文件,常用于讀文本,數字等類型的文件.
至于是否選擇用Buffer來對文件輸入輸出流進行封裝,就要看文件的大小,若是大文件的讀寫,則選擇Buffer這個桶來提供文件讀寫效率。

如下是簡單運用實例:

1、運用字節流對文件進行直接讀寫:

注:FileOutputStream(file, true);里面true參數表示不覆蓋原文件,直接在文件后面追加添加內容。

public class FileTest{static File file = new File("d:/test.txt");public static void main(String[] args){try{FileOutputStream out = new FileOutputStream(file, true);String s = "Hello,world!/r/n";out.write(s.getBytes());out.flush();out.close();//FileInputStream in = new FileInputStream(file);//byte [] b = new byte[20];//in.read(b, 0, b.length);//System.out.println(new String(b));//in.close();} catch (FileNotFoundException e){e.printStackTrace();} catch (IOException e){e.printStackTrace();}}}

2、運用字符流對文件進行直接讀寫:

public class File03{static File file = new File("d:/test.txt");public static void main(String[] args){try{FileWriter fw = new FileWriter(file,true);fw.write("Hello,world!/r/n");fw.flush();fw.close();//FileReader fr = new FileReader(file);//int i=0;//String s ="";//while( ( i = fr.read() )!= -1)//{// s = s +(char)i;//}//System.out.println(s);} catch (FileNotFoundException e){e.printStackTrace();} catch (IOException e){e.printStackTrace();}}}

文件讀寫流用Buffer封裝之后的運用:

1、對字節流封裝后對文件進行讀寫:

static File file = new File("d:/test.txt");public static void main(String[] args){try{// FileOutputStream out = new FileOutputStream(file, true);// BufferedOutputStream bout = new BufferedOutputStream(out);// String s = "I have a dream!";// bout.write(s.getBytes());// bout.flush();// bout.close();FileInputStream in = new FileInputStream(file);BufferedInputStream bin = new BufferedInputStream(in);byte[] b = new byte[15];bin.read(b);bin.close();System.out.println(new String(b));} catch (FileNotFoundException e){e.printStackTrace();} catch (IOException e){e.printStackTrace();}}}

2、對字符流封裝后對文件進行讀寫:

public class File03{static File file = new File("d:/test.txt");public static void main(String[] args){try{// FileWriter fw = new FileWriter(file, true);// BufferedWriter bw = new BufferedWriter(fw);// String nextLine = System.getProperty("line.separator");// bw.write("Hello,world!" + nextLine);// bw.flush();// bw.close();FileReader fr = new FileReader(file);BufferedReader br = new BufferedReader(fr);int i = 0;String s = "";String temp = null;while((temp=br.readLine())!=null){s = s+temp;}System.out.println(s);} catch (FileNotFoundException e){e.printStackTrace();} catch (IOException e){e.printStackTrace();}}}

希望本文所述對大家Java程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 灯塔市| 习水县| 宜宾市| 盐亭县| 芦山县| 宣威市| 上蔡县| 永川市| 朝阳县| 西林县| 泽库县| 甘肃省| 威宁| 垦利县| 顺平县| 酉阳| 常宁市| 洪洞县| 博白县| 泽普县| 新巴尔虎左旗| 阳山县| 丰台区| 遂川县| 望城县| 东台市| 商城县| 兴安县| 宜宾县| 芦溪县| 平顶山市| 淮南市| 新巴尔虎左旗| 白城市| 尼玛县| 郎溪县| 襄城县| 乐安县| 平乐县| 白山市| 株洲县|