• ベストアンサー

Stringから直接InputStreamを作成する方法

nattoumakiの回答

  • ベストアンサー
回答No.2

StringBufferInputStreamはDeprecatedですね。 String str = "abc"; ByteArrayInputStream input = new ByteArrayInputStream(str.getBytes()); これでいいと思います。

関連するQ&A

  • Inputstreamについて

    Inputstreamで取得したcsvファイルやテキストファイル の中身の行数を返す方法がわかりません。 どなたか、ご教授お願いいたします。

  • InputStreamはreadが1回しかできない?

    1つのFileInputStreamのクラスから2つのFileOutputStreamのクラス (仮にOutputStream1、OutputStream2とします)へwriteし、 ファイル2つを作成しようとしています。 最初にOutputStream1へwriteし、次にOutputStream2へwriteしたとき、 両方のStreamで作成したファイルが空(0KB)の状態になってしまいます。 1つのInputStreamから連続して2つ以上のOutputStreamに書くことはいけない ことなのでしょうか?(どうしてもやりたいのですが) もしかしてFileInputStreamの完全なコピー(cloneじゃなくシリアライズして 複製を作成する)を作る方法しかないのでしょうか?とはいうものの シリアライズできるInputStreamクラスを作成できず困っていたりします。 (あとOutputStreamをInputStreamに変換できたらなぁとかも思うの  ですが無理ですよね・・・?) どなたかご存じの方、是非ご教授下さい。

    • ベストアンサー
    • Java
  • InputStream型のキャスト

    ByteArrayInputStream型のデータをInputStream型に変換することは可能ですか? できる場合、やり方を教えていただけますか?

    • ベストアンサー
    • Java
  • InputStreamクラスの仕様

    InputStreamクラスのreadメソッドを使用しています。 InputStreamには1MBのデータがバイナリで格納されており、2KBずつ byte配列にreadメソッドを使用して格納する処理を行っています。 処理自体は問題なく終了するのですが、readメソッドを使用して8KBほど 読み込んだ後、決まってパフォーマンスが悪くなり100Bしか読み取れず、 また8KB読み込んで100B読み込むといった処理になってしまいます・・・。 これはInputStreamのreadクラスの仕様なのでしょうか?それとも何か対策があるのでしょうか? ちなみにInputStreamクラスの元ねたはHTMLにてmultipart/form-dataを使用して アップロードしたファイルデータが格納されています。

    • ベストアンサー
    • Java
  • Stringオブジェクトの作成で理解できないことがあるので教えてもらえませんか?

    現在、Javaの資格勉強をしています。 (1)String str = "abc"; (2)String str = new String("abc"); この二つの作成の違いが理解できません。 (1)一つのStirngオブジェクトが作成されます。 (2)二つのStringオブジェクトが作成されます。 と記載してあります。単純にnew を使用すると二つ作成されると考えていいのでしょうか

    • ベストアンサー
    • Java
  • DateTimeを最初からString型にする方法

    DateTimeを最初からString型にする方法 こんにちは。C#のキャストについてお教え頂けませんでしょうか。 下記はファイルの作成日を取得し、それをstring型に変換しています。 FileInfo fi = new FileInfo(FILE); DateTime CreationTime = fi.CreationTime; string CreationTime2 = CreationTime.ToShortDateString(); DateTime型の変数に情報を格納した後に、String型の変数にキャストした情報を格納しています。 これでは二度手間なので、一度でできる方法はないでしょうか? 下記のコードは動きませんが、やりたいのは下記のようなことです。 String CreationTime = (string)fi.CreationTime; 最終的に何がしたいかというと ・データベースよりデータを取得しDataSetに格納 ・データセットの日付列の値を取得。日付列はvarchar型です。 ・日付列の値をstring型変数に格納 ・fi.CreationTimeで取得した日付とDataSetで取得した日付を比較 ・以上のような事をしたいと思っています。よってCreationTimeをString型に変換したいです 宜しくお願い致します!

  • Stringの100と100.0を同一とみなす方法

    とあるフレームワークで計算するメソッドを通して計算させると、引数によって有効桁までのStringが戻り値として返されます。 そのStringの戻り値を使用して処理を分岐させたいのですが、幾分有効桁に問題があります。 (例) String p_str1 = "100" String p_str2 = "100.0" このp_str1とp_str2を等しいとみなしたいのですが、愚直に末尾から順番に文字を取り出し、最後の桁が0の場合は切り捨て(直前が.ピリオドの場合はピリオドモ含めて)てするような方法しか思いつきません。 それ以外にp_str1とp_str2を等しいとみなす方法はないでしょうか? よろしくお願いいたします。

  • ファイルの書き出し方法について

    お世話になります。 ファイルの出力方法についての質問です。 inputstreamからファイルを作成するとき、もっとも高速に行うにはどのようにすればいいのでしょうか? とりあえず私は // URLクラスのインスタンスを生成 URL myURL = new URL("欲しいページ"); // 接続します URLConnection con = myURL.openConnection(); // 入力ストリームを取得 BufferedReader in = new BufferedReader( new InputStreamReader( con.getInputStream())); String tmp = ""; String str = ""; while((str=in.readLine())!=null){ tmp = tmp + str; } //その後strをファイルに書き出す。 という風にやっておりますが、もっと高速にする方法はないでしょうか? 私なりのイメージではstreamからstreamへ直接渡せないのかな?という ことができないのかなという疑問です。 (いちいちStringになおさなければいけないのかな?ということです。) 以上です。

    • ベストアンサー
    • Java
  • Stringオブジェクトについて

    ある参考書では、Java のメモリー使用効率を改善するために、JVM は「String 定数プール」と呼ばれる特別なメモリー領域を確保していると書いてあり、String を作成する例として次の2つのパターンのコードについて説明している(この例では、定数プール内にほかのString は存在しないものとしている)。 ・パターン(1) String s = "abc"; // 1つのString オブジェクトと         // 1つの参照変数を作成する この例では、"abc" がプールに納められ、変数s がそれを参照する。 ・パターン(2) String s = new String("abc"); // 2つのString オブジェクトと                  // 1つの参照変数を作成する。 このコードでは、new キーワードを使ったので、新しいString オブジェクトが標準の(プールでない)メモリー上に作成され、変数s がそれを参照する。さらに、リテラル"abc" がプールに収められる。  そこで質問ですが、パターン(2) で、変数s と2つのオブジェクトはそれぞれ互いにどのような関係(メモリー上の関係も含めて)を持っているのか。 例えば変数s に対してプリント命令を出したときにJVM はこの2つのオブジェクトに対してどのような処理をするのか。 またこれらのオブジェクトのhashcode はどうなっているのでしょうか。どなたか教えてください。

  • C#におけるstringとstring[]データの変換

    お世話になります。C#をはじめて使っています。 いま行おうとしているのがコモンダイアログからファイル名を取得して、CSVファイルを読み出そうとしています。 OpenFileDialogから出力されるファイル名はstring[]と配列になり(すいません、C#でも”配列”といっていいのですよね?) CSVを開くためのTextFieldParserの引数はstringになります。Cならポインタで変換できるのですが、C#はポインタがないため、いくつか試しましたが、うまく変換でききませんでした。 たとえば string a; string[] b: で  a=b; a=(string)b; a=convert.tostring b; 全部だめでした、どなたかご存知の方お見えになれば教えていただけると助かります。