ファイルを作成していますが、そのファイルを作成するときにはすでに存在するかどうかを確認します。既に存在する場合は、同じ名前で作成したいが、後に(1)を付けてください。私はそれを行うことができ、ここにコードがあります:ファイルはすでに存在しています - 繰り返し名
File apkReceived = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS) + "/"+receivedApkName + ".apk");
if(apkReceived.exists()){
apkReceived=new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS) + "/"+receivedApkName + "(1)"+".apk");
}
byte[] buffer = new byte [8192];
FileOutputStream fos=new FileOutputStream(apkReceived);
それから私はファイルに物事を書いています。
は、これは動作しますが、問題は、このような状況であることである:
FileTest.apk
ファイルテストは、(1)私は別のファイルテストを受け取った場合、それは私のファイルテストをサブます
をの.apk(1)それはそれを再び作成するからです。 これを解決する方法は、ファイルが再度存在するかどうかを確認することですが、その後はこれを常に実行しなければなりません。
私の目標は、(1)と(2)などを作成することです。 あなたはこれを行う方法を知っていますか?
EDIT:確かに私はそれをチェックするためにシクルを使用することができます。問題は、(1)を取得する方法にあり、その後、(2)及び(1)(2)
ような何かを行う 'が、ループはそれらのファイルが存在するかどうかを確認するために行うだろうが、その後私は、単純なever.'号のためにそれをやってしなければならないであろう。 – greenapps
うわー。これは本当にばかげた質問でした。私も恥ずかしいです。ごめんなさい。私は37時間で眠れない。非常に残念です。 –
あなたは 'if(apkReceived.exists()'を 'while(apkReceived.exists()'に変更することができます。そして '(number)をconstruntできるように' number変数を使います。'6つの答えはすべて複雑すぎる。 – greenapps