「Java17」FileOutputStreamを使用して文字列をテキストファイルに書き込むサンプル

環境
JavaSE 17
Eclipse 2022-06 (4.24.0)

構文
1.public byte[] getBytes(Charset charset)
指定された文字セットを使用してこのStringをバイト・シーケンスにエンコード化し、
結果を新規バイト配列に格納します。
パラメータ:
charset – Stringのエンコード化に使用されるCharset
戻り値:
結果のバイト配列

2.public void write(byte[] b) throws IOException
指定されたバイト配列のb.lengthバイトをこのファイル出力ストリームに書き込みます

使用例

package com.arkgame.study;

import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.charset.StandardCharsets;

public class FileWriteDemo {

      //ファイル名の変数の宣言
      private static final String FILENAME = "C:\\study\\java\\test.txt";

      static String TARGET = "study skill become smart";

      public static void main(String[] args) throws IOException {
            //FileOutputStreamクラスのオブジェクトを生成する
            FileOutputStream fileOutputStream = new FileOutputStream(FILENAME);

            //文字列をbyte配列に変換
            byte cft[] = TARGET.getBytes(StandardCharsets.UTF_8);
            
            //byte配列の要素をファイルに書き込む
            for (int i = 0; i < cft.length; i++) {
                  fileOutputStream.write(cft[i]);

            }

            System.out.println("バイトをファイル出力ストリームに書き込みます");
            //テキストファイルに書き込む
            fileOutputStream.flush();

            //テキストファイルをクローズする
            fileOutputStream.close();
            System.out.println("テキストファイルをクローズします");
      }

}

実行結果

「C:\\study\\java\\test.txt」に下記文字を書き込みます
study skill become smart
コンソールに以下のメッセージを出力します
バイトをファイル出力ストリームに書き込みます
テキストファイルをクローズします

 

Java

Posted by arkgame