2017-03-20 9 views
2

私は最初のアンドロイドアプリを構築しています。私は3つの簡単なフィールドを収集しています。FileOutputStreamの書式設定ですか?

私はアプリを稼働させています。私は画面上にデータを収集して表示することができ、私は電子メールでデータを送信することもできます。しかし、データはちょうど知っているスペースを持つ1行のテキストに置かれています。

FileOutputStreamを使用してデータを書き込んでいますが、ストリームにテキストを追加してデータを分割していますが、これは最善のルートと思われますか?私は何をすべきか?以下は、2つのフィールドと静的なテキスト文字列のサンプルです。

ボールのように出てきます:22 私はスペースやヘッダーを持っていたいと思います。私はfos.write( "" .getBytes())を追加できると思います。スペースを作る?

おかげ

FileOutputStream fos = v.getContext().openFileOutput(file_name, MODE_PRIVATE); 

       fos.write("Balls: ".getBytes()); 
       fos.write(balls.getBytes()); 
       fos.write(strikes.getBytes()); 
       fos.close(); 
+0

'FileOutputStream fos = v.getContext()。openFileOutput(file_name、MODE_PRIVATE)'。これは 'OutputStream fos = v.getContext()。openFileOutput(file_name、MODE_PRIVATE)'でなければなりません。 – greenapps

答えて

1

は、理由だけではなく、最初の文字列(複数可)を構築し、その結果の文字列に getBytes()を呼び出し、fos.write()に渡していませんか?

例:

FileOutputStream fos = v.getContext().openFileOutput(file_name, MODE_PRIVATE); 
String bigstring = "Balls: " + balls + " Strikes: " + strikes; 
      fos.write(bigstring.getBytes()); 
      fos.close(); 

あなたはそれにそれをby concatenating a new-line characterを行うことができます文字列に改行を挿入したい場合。

+0

はうまくいった!ありがとう。私はこれで本当に新しいので、それを認識していませんでした。 – branedge

+0

改行を追加するにはこれを試しましたが、うまくいきませんでしたString bigstring = "Balls:" + balls + "Strikes:" + strikes%n; – branedge

+0

実際の文字列では%nを使用しなければなりません。実際の文字列の外側では、実際の意味はありません。したがって、 'twolines =" first line "+"%n "+" second line "; –