質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
ファイル

ファイルとは、文字列に基づいた名前又はパスからアクセスすることができる、任意の情報のブロック又は情報を格納するためのリソースです。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

ArrayList

Java用のタグです。arrayListはListインターフェースを実装した、リサイズ可能な配列用クラスです。

Q&A

解決済

1回答

1731閲覧

ArrayListをファイル出力時、カンマをのけたい Android Java

Shirokuma555

総合スコア0

ファイル

ファイルとは、文字列に基づいた名前又はパスからアクセスすることができる、任意の情報のブロック又は情報を格納するためのリソースです。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

ArrayList

Java用のタグです。arrayListはListインターフェースを実装した、リサイズ可能な配列用クラスです。

0グッド

0クリップ

投稿2020/08/05 08:39

編集2020/08/05 08:42

ArrayListをファイル出力時、カンマを除外したいです。

Javaを用いて、ICリーダーからデータを読み取り、ファイル出力するAndroidアプリを作成しています。
ArrayListのファイル出力をカンマ区切りでなく改行だけで表したいのですが、どなたか方法を知っていましたら教えていただきたいです。

以下コードと、出力されたファイル(.が表示されないので、StockFileと表示)の内容です。

ReadDataActivity

1public class ReadDataActivity extends AppCompatActivity implements 2 KDCDataReceivedListener, 3 KDCBarcodeDataReceivedListener, 4 KDCGPSDataReceivedListener, 5 KDCMSRDataReceivedListener, 6 KDCNFCDataReceivedListener, 7 KDCConnectionListener 8{ 9 10 private KDCReader kdcReader; 11 private CustomAdapter customAdapter; 12 private HandlerThread handlerThread; 13 private Handler handler; 14 String str = null; 15 String fileName = "Stock.txt"; 16 ArrayList<String> readDataList = new ArrayList<>(); 17 18 19 @Override 20 protected void onCreate(Bundle savedInstanceState) { 21 super.onCreate(savedInstanceState); 22 setContentView(R.layout.activity_qr); 23 24 final ListView listView = findViewById(R.id.lvMessage); 25 Button btnSave = findViewById(R.id.button_save); 26 27 customAdapter = new CustomAdapter(this, android.R.layout.simple_list_item_1, readDataList); 28 29 if (listView != null) { 30 listView.setAdapter(customAdapter); 31 } 32 33 if (btnSave != null) { 34 btnSave.setOnClickListener(new View.OnClickListener() { 35 @Override 36 public void onClick(View v) { 37 saveFile(listView); 38 } 39 }); 40 } 41 42 if (handlerThread == null) { 43 handlerThread = new HandlerThread("HandlerThread"); 44 handlerThread.start(); 45 handler = new Handler(handlerThread.getLooper()); 46 } 47 48 kdcReader = new KDCReader(this, this, this, this, this, this, false); 49 50 } 51 52 private void saveFile(ListView listView) { 53 Object[] obj = new Object[listView.getCount()]; 54 for (int i = 0; i < obj.length; i++) { 55 obj[i] = listView.getItemAtPosition(i); 56 } 57 58 str = Arrays.toString(obj); 59 if (!(str.equals("[]"))) { 60 new AlertDialog.Builder(QRActivity.this) 61 .setTitle(getString(R.string.confirm_save)) 62 .setMessage(getString(R.string.save_msg)) 63 .setPositiveButton(getString(R.string.yes), 64 new DialogInterface.OnClickListener() { 65 66 @Override 67 public void onClick(DialogInterface dialogInterface, int which) { 68 String toastMessage = getString(R.string.saved_msg); 69 toastMake(toastMessage, 0, -200); 70 try { 71 FileOutputStream fos = openFileOutput(fileName, MODE_PRIVATE); 72 fos.write(str.getBytes()); 73 fos.flush(); 74 fos.close(); 75 } catch (IOException e) { 76 e.printStackTrace(); 77 } 78 // MainActivityに遷移 79 Intent intent = new Intent(getApplicationContext(), MainActivity.class); 80 startActivity(intent); 81 } 82 }) 83 .setNegativeButton(getString(R.string.no), null) 84 .show(); 85 86 } else { 87 String toastMessage = "保存に失敗しました。"; 88 toastMake(toastMessage, 0, -200); 89 } 90 } 91 92 private void toastMake(String toastMessage, int x, int y) { 93 Toast toast = Toast.makeText(this, toastMessage, Toast.LENGTH_SHORT); 94 // 位置調整 95 toast.setGravity(Gravity.CENTER, x, y); 96 toast.show(); 97 } 98 99 @Override 100 public void NFCDataReceived(KDCData kdcData) { 101 Log.d(TAG, "NFCDataReceived:" + kdcData.GetDataBytesLength()); 102 String data = kdcData.GetNFCUIDReversed(); 103 104 if (data != null) { 105 data = data + " " + kdcData.GetNFCData() + " "; 106 } else { 107 data = kdcData.GetNFCData() + " "; 108 } 109 110 data += kdcData.GetNFCTagType().GetName(); 111 112 runOnUiThread(new addMsgRunnable(data)); 113 } 114 115 /** 116 * Custom Runnable 117 */ 118 private class addMsgRunnable implements Runnable { 119 private String message; 120 121 addMsgRunnable(String message) { 122 this.message = message; 123 } 124 125 @Override 126 public void run() { 127 if (message != null) { 128 customAdapter.add(message + "\n"); 129 customAdapter.notifyDataSetChanged(); 130 } 131 } 132 } 133}

Stockfile

1[3400E28011700000020ECE638A93 RFID 2, 3400E28011700000020ECE63839A RFID 3, 3400E28011700000020ECE638A93 RFID 4]

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問