java 幾種不同的檔案操作

來源:互聯網
上載者:User

讀檔案的幾種方式

import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.FileReader;import java.io.FileWriter;import java.io.StringReader;import java.io.StringWriter;/** * 磁碟上檔案要存在 *  * @author Brother Huan *  */public class FileRead {public FileInputStream fis;  //以位元組為單位public FileOutputStream fos;//以位元組為單位public FileReader fr;//以字元為單位public FileWriter fw;//以字元為單位public StringReader sr;public StringWriter sw;public FileRead() {File file = new File("D://test.txt");try {System.out.println("以位元組為單位讀取檔案內容,一次讀一個位元組:");fis = new FileInputStream(file);int temp;System.out.println("讀到的內容--》");while ((temp = fis.read()) != -1) {System.out.print(temp + ",");}fis.close();System.out.println("");// *************************************************************//System.out.println("以位元組為單位讀取檔案內容,一次讀多個位元組:");byte[] b = new byte[11];fis = new FileInputStream(file);while (fis.read(b) != -1) {System.out.println("b的長度---》" + b.length);}fis.close();System.out.println("");// **************************************************************//System.out.println("以字元為單位讀取檔案內容,一次讀一個字元:");fr = new FileReader(file);int a;while ((a = fr.read()) != -1) {System.out.print(a + ",");}fr.close();System.out.println("");// **************************************************************//System.out.println("以字元為單位讀取檔案內容,一次讀多個字元:");fr = new FileReader(file);char[] c = new char[100];while (fr.read(c) != -1){for(char m : c){System.out.print(m+",");}System.out.println("");}System.out.println("");//**************************************************System.out.println("以行為單位讀取"); BufferedReader br = new BufferedReader(new FileReader(file)); String s; while((s=br.readLine())!=null){ System.out.println(s); }   } catch (Exception e) {e.printStackTrace();}}}

寫檔案的幾種操作。

import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import java.io.StringReader;import java.io.StringWriter;import java.nio.CharBuffer;public class FileWrite {public FileInputStream fis;public FileOutputStream fos;public FileReader fr;public FileWriter fw;public StringReader sr;public StringWriter sw;/** * 將test。txt的檔案讀出,然後寫到test1.txt中 */public FileWrite() {File file1 = new File("D://test.txt");File file2 = new File("D://test1.txt");if (file2.exists()) {file2.delete();}try {file2.createNewFile();fos = new FileOutputStream(file2);fis = new FileInputStream(file1);fw = new FileWriter(file2);fr = new FileReader(file1);//**************************************************int b;while ((b = fis.read()) != -1) { // 單個位元組fos.write(b);}//**************************************************byte[] b1 = new byte[512];while (fis.read(b1) != -1) { // 多個位元組fos.write(b1);}//**************************************************char[] c1 = new char[100];int c;while ((c = fr.read(c1)) != -1) { // 多個字元,單個字元的自己去想 哈哈fw.write(c);}} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}

Note:多個位元組比單個位元組的效率要高很多。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.