程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> Java文本文件操作辦法實例詳解

Java文本文件操作辦法實例詳解

編輯:關於JAVA

Java文本文件操作辦法實例詳解。本站提示廣大學習愛好者:(Java文本文件操作辦法實例詳解)文章只能為提供參考,不一定能成為您想要的結果。以下是Java文本文件操作辦法實例詳解正文


本文實例講述了Java文本文件操作辦法。分享給年夜家供年夜家參考。詳細剖析以下:

最後Java是不支撐對文本文件的處置的,為了填補這個缺憾而引入了Reader和Writer兩個類,這兩個類都是籠統類,Writer中write(char[] ch,int off,int length),flush()和close()辦法為籠統辦法,Reader中read(char[] ch,int off,int length)和close()辦法是籠統辦法。子類應當分離完成他們。

當我們讀寫文本文件的時刻,采取Reader長短常便利的,好比FileReader,InputStreamReader和BufferedReader。個中最主要的類是InputStreamReader,它是字節轉換為字符的橋梁。你可以在結構重視指定編碼的方法,假如不指定的話將采取底層操作體系的默許編碼方法,例如GBK等。當應用FileReader讀取文件的時刻,

FileReader fr = new FileReader("ming.txt");
int ch = 0;
while((ch = fr.read())!=-1 )
{
  System.out.print((char)ch);
}

個中read()辦法前往的是讀獲得下個字符。固然你也能夠應用read(char[] ch,int off,int length)這和處置二進制文件的時刻相似,不多說了。假如應用InputStreamReader來讀取文件的時刻

while((ch = isr.read())!=-1)
{
  System.out.print((char)ch);
}

這和FileReader並沒有甚麼差別,現實上在FileReader中的辦法都是從InputStreamReader中繼續過去的。read()辦法是比擬好費時光的,假如為了進步效力我們可使用BufferedReader對Reader停止包裝,如許可以進步讀獲得速度,我們可以一行一行的讀取文本,應用readLine()辦法。

BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("ming.txt")));
String data = null;
while((data = br.readLine())!=null)
{
  System.out.println(data);
}

當你明確了若何用Reader來讀取文本文件的時刻那末用Writer寫文件異樣異常簡略。有一點須要留意,當你寫文件的時刻,為了進步效力,寫入的數據會先放入緩沖區,然後寫入文件。是以有時刻你須要自動挪用flush()辦法。與下面對應的寫文件的辦法為:

FileWriter fw = new FileWriter("hello.txt");
String s = "hello world";
fw.write(s,0,s.length());
fw.flush();
OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("hello2.txt"));
osw.write(s,0,s.length());
osw.flush();
PrintWriter pw = new PrintWriter(new OutputStreamWriter(new FileOutputStream("hello3.txt")),true);
pw.println(s);

不要忘卻用完後封閉流!上面是個小例子,贊助老手懂得。其實有的時刻Java的IO體系是須要我們多記記的,否則哪天就陌生了。

//hello world i like Java language
import Java.io.*;
public class TestFile2
{
  public static void main(String[] args) 
  throws IOException
  {
  FileReader fr = new FileReader("ming.txt");
  char[] buffer = new char[1024];
  int ch = 0;
  while((ch = fr.read())!=-1 )
  {
  System.out.print((char)ch);
  }
  InputStreamReader isr = new InputStreamReader(new FileInputStream("ming.txt"));
  while((ch = isr.read())!=-1)
  {
  System.out.print((char)ch);
  }
  BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("ming.txt")));
  String data = null;
  while((data = br.readLine())!=null)
  {
  System.out.println(data);
  }
  FileWriter fw = new FileWriter("hello.txt");
  String s = "hello world";
  fw.write(s,0,s.length());
  fw.flush();
  OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("hello2.txt"));
  osw.write(s,0,s.length());
  osw.flush();
  PrintWriter pw = new PrintWriter(new OutputStreamWriter(new FileOutputStream("hello3.txt")),true);
  pw.println(s);
  fr.close();
  isr.close();
  br.close();
  fw.close();
  osw.close();
  pw.close();
  }
}

願望本文所述對年夜家的java法式設計有所贊助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved