「Java」ByteArrayOutputStreamクラスのサンプル

2021年8月26日

関数
1.public class ByteArrayInputStream extends InputStream
ByteArrayInputStreamは、ストリームから読み込むことができるバイトを格納する内部バッファを保持しています。
2.public class ByteArrayOutputStream extends OutputStream
データがバイト配列に書き込まれる出力ストリームを実装します。データが書き込まれるに従って、バッファは自動的に大きくなっていきます。

使用例

package com.arkgame.info;

import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;

public class ByteArrayOutputDemo {

      private static final int btSize = 20;

      public static void main(String[] args) throws IOException {

            ByteArrayOutputStream baos = new ByteArrayOutputStream(btSize);

            while (baos.size() != btSize) {
                  // 入力ストリームからデータの次のバイトを読み込みます
                  baos.write(System.in.read());
            }
            byte[] buf = baos.toByteArray();

            /* 入力文字を印刷 */
            outputStr(buf);

            /* 入文字を大文字に変換 */
            upperCaseFunc(buf);

      }

      /* 入力文字を印刷 */
      private static void outputStr(byte[] buf) {
            System.out.println("入力文字を出力");
            for (int x = 0; x < buf.length; x++) {
                  // 文字を出力
                  System.out.print((char) buf[x]);
            }
            System.out.println("\n");

      }

      /* 文字を大文字に変換 */
      private static void upperCaseFunc(byte[] buf) {

            int c;
            ByteArrayInputStream bInput = new ByteArrayInputStream(buf);
            System.out.println("入力文字を大文字に変換 ");
            for (int y = 0; y < 1; y++) {
                  /* UnicodeDataファイル内のケース・マッピング情報を使用して、文字引数を大文字に変換 */
                  while ((c = bInput.read()) != -1) {
                        /* UnicodeDataファイル内のケース・マッピング情報を使用して、文字引数を大文字に変換 */
                        System.out.print(Character.toUpperCase((char) c));
                  }
                  bInput.reset();
            }

      }
}

実行結果
study skill in arkgame
入力文字を出力
study skill in arkga

入力文字を大文字に変換
STUDY SKILL IN ARKGA

Java

Posted by arkgame