このコミュニティにはすでに数回相談しましたが、自分で問題を解決するにはまだ経験が浅いようです。
私の最近の問題は次のとおりです。
アプリのプライベート ストレージ (ルート化されていないデバイス) に作成されたファイルがあります。私はそれに書き込み、それから読み取ることができます。しかし:ファイルに追加情報を追加する方法がわかりません(別のFOSが最初の配列の最後に配列を簡単に追加すると思いますが、よくわかりません)、どうすれば見られるかわかりません特定の文字列など。
public static Runnable cfgsetlanecount(int l1, int l2, int l3, int l4,
int l5, int l6, int l7, int l8, Context context)
throws IOException {
System.out.println("" + l1 + l2+ l3+l4+l5+l6+l7+l8);
FileOutputStream fos = context
.openFileOutput(cfg, Context.MODE_PRIVATE);
String lanecount = "lanecount: " + (Integer.valueOf(l1).toString())
+ "" + (Integer.valueOf(l2).toString()) + ""
+ (Integer.valueOf(l3).toString()) + ""
+ (Integer.valueOf(l4).toString()) + "" + l5 + "" + l6 + ""
+ l7 + "" + l8;
byte buf[] = lanecount.getBytes();
fos.write(buf);
fos.close();
cfggetlanecount();
return null;
}
public static Runnable cfggetlanecount() throws IOException {
String collected = null;
FileInputStream fis = context.openFileInput(cfg);
byte input[] = new byte [fis.available()];
while (fis.read(input)!=-1){
collected = new String (input);
System.out.println(collected);
}fis.close();
return null;
}
これは私が今までやってきたことのコードです。time
値が 12:00 の文字列を追加し、それらをさまざまなメソッドから読み取りたいと考えています。レーンカウント文字列の値は 10101010 です。この値が必要なだけです。文字列を検索して、文字列lanecount:
を検索して 12:00 を取得します。time:
編集:
まず、この行をファイルに追加する必要があります。これは次のようになります。
line1: レーンカウント: 10001000
line2: 時刻: 12:00
line3: timex: 05:00
line4: 任意の単語: fhfbjklös
line5: ストップバイト: 0x28
. . .
そして今、キーワードtimexの値を取り出すことができるメソッド、またはレーンカウントを読み取ることができる別のメソッドが必要です。そして、Stopbyte の値を取得できるものかもしれません。
次に、キーワード時間の値を編集できるメソッドが必要です。