logo

FileWriter と FileReader を使用した Java でのファイル処理

Java FileWriter クラスと FileReader クラスは、テキスト ファイルへのデータの書き込みと読み取りに使用されます (これらは キャラクターストリーム クラス)。おすすめです ない これらはバイト ストリーム クラスであるため、テキスト情報の読み取りと書き込みが必要な場合は、FileInputStream クラスと FileOutputStream クラスを使用します。
 

ファイルライター
FileWriter は、文字を書き込むファイルを作成するのに便利です。 

単純なJavaプログラム
  • このクラスは OutputStream クラスを継承します。
  • このクラスのコンストラクターは、デフォルトの文字エンコーディングとデフォルトのバイトバッファ サイズが受け入れられることを前提としています。これらの値を自分で指定するには、FileOutputStream 上に OutputStreamWriter を構築します。 
     
  • FileWriter は文字のストリームを書き込むためのものです。 raw バイトのストリームを書き込む場合は、FileOutputStream の使用を検討してください。
  • 出力ファイルが存在しない場合、FileWriter は出力ファイルを作成します。


コンストラクター:  



    FileWriter(ファイルファイル) -File オブジェクトを指定して FileWriter オブジェクトを構築します。FileWriter (ファイル ファイル ブール値追加) -File オブジェクトを指定して FileWriter オブジェクトを構築します。FileWriter (FileDescriptor fd) -ファイル記述子に関連付けられた FileWriter オブジェクトを構築します。FileWriter (文字列ファイル名) -ファイル名を指定して FileWriter オブジェクトを構築します。FileWriter (文字列 fileName ブール値追加) -書き込まれたデータを追加するかどうかを示すブール値を含むファイル名を指定して、FileWriter オブジェクトを構築します。


方法:  

隠しアプリ
    public void write (int c) が IOException をスローする -単一の文字を書き込みます。public void write (char []stir) が IOException をスローする -文字の配列を書き込みます。public void write(String str)throws IOException -文字列を書き込みます。public void write(String str 整数オフ int len) IOException をスローする - 文字列の一部を書き込みます。ここで、off は文字の書き込みを開始するオフセット、len は書き込む文字数です。public void flash() が IOException をスローするストリームをフラッシュしますpublic void close() が IOException をスローするまずストリームをフラッシュしてからライターを閉じます。


読み取りと書き込みは文字ごとに行われるため、I/O 操作の数が増加し、システムのパフォーマンスに影響します。 BufferedWriter FileWriter と一緒に使用すると、実行速度が向上します。
次のプログラムは、FileWriter を使用してテキスト ファイルを作成する方法を示しています。
 

Java
// Creating a text File using FileWriter import java.io.FileWriter; import java.io.IOException; class CreateFile {  public static void main(String[] args) throws IOException  {  // Accept a string   String str = 'File Handling in Java using '+  ' FileWriter and FileReader';  // attach a file to FileWriter   FileWriter fw=new FileWriter('output.txt');  // read character wise from string and write   // into FileWriter   for (int i = 0; i < str.length(); i++)  fw.write(str.charAt(i));  System.out.println('Writing successful');  //close the file   fw.close();  } }  

ファイルリーダー

FileReader は、「テキスト」ファイルから文字形式でデータを読み取るのに便利です。 

  • このクラスは、InputStreamReader クラスから継承されます。
  • このクラスのコンストラクターは、デフォルトの文字エンコーディングとデフォルトのバイト バッファ サイズが適切であることを前提としています。これらの値を自分で指定するには、FileInputStream 上に InputStreamReader を構築します。 
     
  • FileReader は、文字のストリームを読み取ることを目的としています。 raw バイトのストリームを読み取る場合は、FileInputStream の使用を検討してください。


コンストラクター:  

sdlc
    FileReader(ファイルファイル) -読み取り元のファイルを指定して FileReader を作成しますFileReader(FileDescripter fd) -読み取り元の FileDescripter を指定して新しい FileReader を作成しますFileReader(文字列ファイル名) -読み取るファイルの名前を指定して新しい FileReader を作成します


方法:  

    public int read() が IOException をスローする -単一文字を読み取ります。このメソッドは、文字が使用可能になるか、I/O エラーが発生するか、ストリームの終わりに達するまでブロックされます。public int read(char[] cbuff) が IOException をスローする -文字を配列に読み取ります。このメソッドは、入力が利用可能になるか、I/O エラーが発生するか、ストリームの終わりに達するまでブロックされます。public abstract int read(char[] buff int off int len) が IOException をスローする -文字を配列の一部に読み取ります。このメソッドは、入力が利用可能になるか、I/O エラーが発生するか、ストリームの終わりに達するまでブロックされます。 
    パラメータ: 
    cbuf - 宛先バッファ 
    off - 文字の保存を開始するオフセット 
    len - 読み取る最大文字数 
     public void close() が IOException をスローするリーダーを閉じます。public long Skip(long n) が IOException をスローする -文字をスキップします。このメソッドは、いくつかの文字が使用可能になるか、I/O エラーが発生するか、ストリームの終わりに達するまでブロックされます。 
    パラメータ: 
    n - スキップする文字数 


次のプログラムは、FileReader を使用して「テキスト」ファイルから読み取る方法を示しています。
 

Java
// Reading data from a file using FileReader import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; class ReadFile {  public static void main(String[] args) throws IOException  {  // variable declaration  int ch;  // check if File exists or not  FileReader fr=null;  try  {  fr = new FileReader('text');  }  catch (FileNotFoundException fe)  {  System.out.println('File not found');  }  // read from FileReader till the end of file  while ((ch=fr.read())!=-1)  System.out.print((char)ch);  // close the file  fr.close();  } } 

 

クイズの作成