0

毎日の開始時に int を 01 に設定するプログラムを作成する必要があります。ファイルが実行されるたびに、int は翌日まで増加します。この int はファイル名に挿入されます。たとえば、FileName(insertdatehere)01.txt、FileName(insertdatehere02.txt、FileName(insertdatehere)03.txt など) です。

これが可能かどうか疑問に思っていました:

-ファイルが既に存在するかどうかを確認し、存在する場合は int 値がインクリメントされます。ファイル名には日付が含まれているため、これは機能します。そのため、毎日新しいファイル名がとにかく作成されます。

私は正しい方向に進んでいますか、それともこの質問を完全に再考する必要がありますか?

これが明確でない場合は申し訳ありませんが、明確にする必要がある場合は、そうします。

4

3 に答える 3

1

あなたの考えは正しいようで、この方法でうまくいくでしょう。

注意すべきことは、同じプロセスが 2 つ存在し、両方がファイルが存在しないと仮定してファイルを作成しようとする場合です。

このケースを考慮し、プロセスが 1 日を通して確実に実行されている限り (そしてタイムゾーンの罠に陥らない限り)、準備は万端です。

于 2013-03-13T02:04:30.440 に答える
1

タイムスタンプ、日付などを設定するためにjava.util.Dateクラスを使用してみましたか。ファイルが他のファイルで開かれるたびに日付を設定したり、同じファイルの特定の場所に同じ値を設定したりできます。その後、ファイルを再度開くたびに、すでに設定されている以前の日付を比較して確認できます。これは確かにあなたを助けるでしょう。最初に自分で試してみてください。それでも同じ投稿の問題が発生する場合は、直面している問題を解決してください。

于 2013-03-13T08:24:12.307 に答える
0

あなたのアイデアは良いです。

しかし、ファイルが存在せず、2 つのプロセスが同じ名前で同時に作成しようとしている場合、問題が発生します。

上記の問題は、Javaで同期を使用して解決できるため、コードブロック(存在する場合はチェックファイルのロジックを含み、新しいファイルを作成します)に同時にアクセスできません。

于 2013-03-13T02:59:26.670 に答える