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

首頁 > 編程 > Java > 正文

Java讀寫文件方法總結(推薦)

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

Java的讀寫文件方法在工作中相信有很多的用處的,本人在之前包括現在都在使用Java的讀寫文件方法來處理數據方面的輸入輸出,確實很方便。奈何我的記性實在是叫人著急,很多時候既然都會想不起來怎么寫了,不過我的Java代碼量也實在是少的可憐,所以應該多多練習。這里做一個總結,集中在一起方面今后查看。

Java讀文件

package 天才白癡夢;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.FileReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.RandomAccessFile;import java.io.Reader;public class JavaIO {    /**   * 采用的是操作系統底層默認的編碼方式,GBK等,非UTF8   * */    /**   * 以字節為單位讀取文件內容,常用于讀取二進制文件,比如圖片、影像、聲音等文件   * */  public static void readFileByBytes(String filename) {    File file=new File(filename);    FileInputStream in=null;    try {      System.out.println("以字節為單位讀取文件,一次讀一個字節: ");      in=new FileInputStream(file);      int temp=0;      while ((temp=in.read()) != -1) {        System.out.println(temp);      }      in.close();    } catch (IOException e) {      e.printStackTrace();      return ;    }    try {      System.out.println("以字節為單位讀取文件,一次讀多個字節: ");      byte[] temp=new byte[100];      int byteread=0;      in=new FileInputStream(file);      JavaIO.showAvailableBytes(in);      while ((byteread=in.read(temp)) != -1) {        System.out.write(temp,0,byteread);      }    } catch (Exception e1) {      e1.printStackTrace();    } finally {      if (in != null) {        try {          in.close();        } catch (IOException e1) {                  }      }    }  }  /**   * 以字符為單位讀取文件,常用于讀文本,數字等類型的文件   * */  public static void readFileByChar(String filename) {    File file=new File(filename);    Reader reader=null;    try {      System.out.println("以字符為單位讀取文件內容,一次一個字節:");      //InputStreamReader類:是字節向字符轉換的橋梁      reader=new InputStreamReader(new FileInputStream(file));      int temp;      while ((temp=reader.read()) != -1) {        if (((char)temp) != '/r') {          System.out.println((char)temp);        }      }       reader.close();    } catch (Exception e) {      e.printStackTrace();    }    try {      System.out.println("以字符為單位讀取文件內容,一次讀多個字節: ");      char[] temp=new char[30];      int charread=0;      reader=new InputStreamReader(new FileInputStream(filename));      while ((charread=reader.read(temp)) != -1) {        if ((charread == temp.length) && (temp[temp.length-1]!='/r')) {          System.out.println(temp);        } else {          for (int i=0; i<charread; i++) {            if (temp[i] == '/r') {              break;            } else {              System.out.println(temp[i]);            }          }        }      }    } catch (Exception e) {      e.printStackTrace();    } finally {      if (reader != null) {        try {          reader.close();        } catch (IOException e) {                  }      }    }  }  /**   * 以行為單位讀取文件,常用于讀面向行的格式化文件   * */  public static void readFileByLine(String filename) {    File file=new File(filename);    BufferedReader reader=null;    try {      System.out.println("以行為單位讀取文件內容,一次讀一整行: ");      reader=new BufferedReader(new FileReader(file));      String temp=null;      int line=1;      while ((temp=reader.readLine()) != null) {        System.out.println("line " + line + ": " + temp);        line++;      }      reader.close();    } catch (IOException e) {      e.printStackTrace();    } finally {      if (reader != null) {        try {          reader.close();        } catch (IOException e) {                  }      }    }  }  /**   * 隨機讀取文件內容   * */  public static void readFileByRandomAccess(String filename) {    RandomAccessFile randomfile=null;    try {      System.out.println("隨機讀取一段文件內容");      randomfile=new RandomAccessFile(filename,"r");      long fileLength=randomfile.length();      int beginIndex=(fileLength > 4 ? 4 : 0);      randomfile.seek(beginIndex);      byte[] bytes=new byte[10];      int byteread=0;      while ((byteread=randomfile.read(bytes)) != -1) {        System.out.write(bytes,0,byteread);      }    } catch (IOException e) {      e.printStackTrace();    } finally {      if (randomfile != null) {        try {          randomfile.close();        } catch (IOException e) {                  }      }    }  }  private static void showAvailableBytes(InputStream in) {    try {      System.out.println("當前字節輸入流中的字節數為:" + in.available());    } catch (IOException e) {      e.printStackTrace();    }  }  public static void main(String[] args) {    String filename="E://BaiYiShaoNian.txt";    JavaIO.readFileByBytes(filename);    JavaIO.readFileByChar(filename);    JavaIO.readFileByLine(filename);    JavaIO.readFileByRandomAccess(filename);  }}

Java寫文件

package 天才白癡夢;import java.io.BufferedWriter;import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.FileWriter;import java.io.IOException;import java.io.OutputStreamWriter;public class JavaIO2 {  public static void main(String[] args) throws IOException {    String Path="E://天才白癡夢//JAVA";    File file=new File("E://天才白癡夢//JAVA","BaiYiShaoNian.txt");    if (!file.exists()) {      try {        file.createNewFile();      } catch (IOException e) {        e.printStackTrace();      }    }    /**     * Java寫入文件的三種方法     * */    FileOutputStream fos=null;    BufferedWriter bw=null;    FileWriter fw=null;    int value=1000;        try {      fos=new FileOutputStream(new File(Path+"fos.txt"));      long begin=System.currentTimeMillis();      for (int i=1; i<=value; i++) {        fos.write(5);      }      long end=System.currentTimeMillis();      System.out.println("TheCostTime of FileOutputStream is : " + (end-begin));      fos.close();            bw=new BufferedWriter(new OutputStreamWriter(new FileOutputStream(new File(Path+"br.txt")),"UTF8"));      begin=System.currentTimeMillis();      for (int i=1; i<=value; i++) {        bw.write(5);        bw.newLine();      }      bw.close();      end=System.currentTimeMillis();      System.out.println("TheCostTime of BufferedWriter is : " + (end-begin));            fw=new FileWriter(Path+"fw.txt");      begin=System.currentTimeMillis();      for (int i=1; i<=value; i++) {        fw.write(5);              }      fw.close();      end=System.currentTimeMillis();      System.out.println("TheCostTime of FileWriter is : " + (end-begin));                } catch (Exception e) {      // TODO Auto-generated catch block      e.printStackTrace();    } finally {      try {        fos.close(); //FileOutputStream        bw.close(); //BufferedWriter        fw.close(); //FileWriter      } catch (Exception e) {        e.printStackTrace();      }    }      }}

以上這篇Java讀寫文件方法總結(推薦)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 自贡市| 凤台县| 连平县| 增城市| 剑川县| 南宫市| 湾仔区| 含山县| 高邑县| 嫩江县| 鄂伦春自治旗| 盐池县| 咸阳市| 楚雄市| 梨树县| 新泰市| 深州市| 昌宁县| 曲沃县| 炎陵县| 凯里市| 河曲县| 卢氏县| 姚安县| 隆安县| 华宁县| 崇阳县| 博白县| 林芝县| 高唐县| 靖州| 长顺县| 林西县| 钟祥市| 保定市| 麻城市| 广德县| 日喀则市| 吉隆县| 兴山县| 保定市|