0

私のアプリケーションは 30 分ごとにパケットを送信します。パケットを送信できない場合は、ファイル (単純な文字列) をerror.log. ユーザーが「restoreErrors」というボタンを押すとerror.log、LIFO ポリシーに従って、パケットを抽出して再送信しようとします。

たとえば、ファイル error.log は次のとおりです。

String1
String2
String3

そして、ユーザーが「restoreErrors」ボタンを押したときに、保存されたパケットを順番にロードする必要があります。

while (!file.empty) {
  String str = loadUnsendedStringFromFile();
}

私の問題は、文字列を正しく読み取ることができるため、ファイルを LIFO のように使用することですが、現在抽出されている文字列 (スタック モデルの POP など) を削除する必要があります。

ありがとう。

編集:わかりました、これを達成するために単純なリストを使用します。パケットエラーごとにファイル内に保存する必要はありません...ありがとう

4

1 に答える 1

1

ArrayListを使用すると、 add メソッドを呼び出して未送信メッセージをリストに追加できます。次に、それらを必要な順序で送信できます (単純な for ループを使用して、上または下に移動します)。次に、remove メソッドを呼び出して送信済みの文字列を消去します。未送信の文字列が残ります。

于 2013-02-04T00:33:20.093 に答える