株式会社イーヴ

EeBlog(テクニカルブログ)

TOP > EeBlog > 第93回 入出力の基本

第93回 入出力の基本

引き続き「入出力の基本」について見ていきたいと思います。

今回はバイト単位で書き込む、出力バイトストリームについて見ていきます。

次のサンプルコードは、テキストファイルに書き込むプログラムです。

 import java.io.BufferedOutputStream;
 import java.io.FileOutputStream;


 public class Main {


     public static void main(String[] args) {
         BufferedOutputStream bufferedOutputStream = null;
         try {
             bufferedOutputStream = new BufferedOutputStream
                                    (new FileOutputStream("output.txt", true));
             bufferedOutputStream.write("株式会社イーブ".getBytes("Shift-JIS"));
         } catch (Exception e) {
             e.printStackTrace();
         } finally {
             if (bufferedOutputStream != null) {
                 try {
                     bufferedOutputStream.close();
                 } catch (Exception e) {}
             }
         }
     }
 }

FileOutputStreamクラスはファイルのバイトストリームに書き込むためのクラスです。
また、コンストラクタの第二引数をtrueとすることでファイルに追記するように設定しています。
writeメソッドにより書き込みを行いますが、書き込むのはバイトデータ(byte配列)です。
そのため、文字列を符号化しwriteメソッドの引数に渡しています。
符号化の際、文字セットを指定していますが、これを指定しない場合は、プラットフォームのデフォルト文字セットが使用されます。
既に存在するテキストファイルの内容と書き込む内容は同じ文字セットを使用して複合化されるので、そのテキストファイルの文字セットと同じ文字セットで符号化して書き込むようにしてください。