-2

generateReference will = "abc"(たとえば)nameWithExt = "abc.txt"

ただし、ファイルシステムに保存されるファイルは次のようになります:abc501883476493193605.txt

それらの数字は、スモーシングによってランダムに生成されているように見えますか?誰が何が起こっているのか知っていますか?

File directory = new File(bc.getUploadDirectoryPath(dir)); //c:/temp
            String generatedReference = CreateUniqueFileReference();
            String nameWithExt = generatedReference + "." + GetExtensionOfFile(fb.getFileName());
            //File f = File.createTempFile(generatedReference, "." + GetExtensionOfFile(fb.getFileName()), directory);
            //File f = File.createTempFile("abc","myExt", directory); STILL GENERATED RANDOM NOS in file?
            fb.save(f);
            bc.getLogger().info("TrySaveFile: "+nameWithExt);

public static String CreateUniqueFileReference() {
        java.util.Date today = new java.util.Date();
        String d = new java.text.SimpleDateFormat("ddMMyyyyHHmmss").format(new java.sql.Timestamp(today.getTime()));
        Random r = new Random();
        String randomNum =  Integer.toString(r.nextInt(10000) + 0);
        return d + "_" + randomNum;
    }
4

1 に答える 1

1

CreateUniqueFileReferenceそれらの番号を生成します。それはコードの中にあります。

申し訳ありませんが、間違っていましたが、File.createTempFile()からの出力のようです。これは通常、名前の後に長い数字の文字列を生成して一意にします。

于 2012-05-03T03:35:12.877 に答える