Hin und wieder ist es notwendig, in einem Ordner Dateien gleichen Namens zu speichern. Da das unter Windows (und den meisten anderen Betriebssystemen auch) nicht geht, mu\u00df man sich was einfallen lassen. G\u00e4ngige Praxis vieler Anwendungen ist es dabei, dem Dateinamen ein Zeichen mit einer Zahl anzuh\u00e4ngen, wenn es den Originalnamen schon gab. Z.B. wird die Datei „Neues Dokument.txt“ zu „Neues Dokument~1.txt“, dann „Neues Dokument~2.txt“ usw.<\/p>\n
Der folgende Code-Snippet erzeugt f\u00fcr einen gegebenen Dateinamen genau solche einen eindeutigen Namen mit der kleinstm\u00f6glichen Zahl.<\/p>\n
public<\/span> static<\/span> String getUniqueFileName(String tempFileName, String extension, String extensionSeparator, String suffixSeparator)\r\n{\r\n String tempFileNameNew; \r\n if<\/span> (extension == null<\/span> || extension.length() == 0)\r\n {\r\n tempFileNameNew = tempFileName;\r\n } \r\n else<\/span>\r\n {\r\n tempFileNameNew = tempFileName + extensionSeparator + extension;\r\n } \r\n\r\n File file = new<\/span> File(tempFileNameNew);\r\n int<\/span> suffix = 1; \r\n\r\n while<\/span> (file.isFile())\r\n {\r\n if<\/span> (extension == null<\/span> || extension.length() > 0)\r\n {\r\n tempFileNameNew = tempFileName + suffixSeparator + String.valueOf(suffix);\r\n }\r\n else<\/span>\r\n {\r\n tempFileNameNew = tempFileName + suffixSeparator + String.valueOf(suffix) + extensionSeparator + extension;\r\n } \r\n\r\n file = new<\/span> File(tempFileNameNew);\r\n suffix++;\r\n }\r\n\r\n return<\/span> tempFileNameNew;\r\n}<\/pre>\nM\u00f6glicher Aufruf w\u00e4re also:<\/p>\n
String newFilename = getUniqueFileName(\"Neues Textdokument<\/span>\", \"txt<\/span>\", \".<\/span>\", \"~<\/span>\");<\/pre>\n","protected":false},"excerpt":{"rendered":"Hin und wieder ist es notwendig, in einem Ordner Dateien gleichen Namens zu speichern. Da das unter Windows (und den meisten anderen Betriebssystemen auch) nicht geht, mu\u00df man sich was einfallen lassen. G\u00e4ngige Praxis vieler Anwendungen ist es dabei, dem Dateinamen ein Zeichen mit einer Zahl anzuh\u00e4ngen, wenn es den Originalnamen schon gab. Z.B. wird […]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[3],"tags":[],"_links":{"self":[{"href":"https:\/\/www.waide.de\/wp-json\/wp\/v2\/posts\/25"}],"collection":[{"href":"https:\/\/www.waide.de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.waide.de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.waide.de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.waide.de\/wp-json\/wp\/v2\/comments?post=25"}],"version-history":[{"count":3,"href":"https:\/\/www.waide.de\/wp-json\/wp\/v2\/posts\/25\/revisions"}],"predecessor-version":[{"id":28,"href":"https:\/\/www.waide.de\/wp-json\/wp\/v2\/posts\/25\/revisions\/28"}],"wp:attachment":[{"href":"https:\/\/www.waide.de\/wp-json\/wp\/v2\/media?parent=25"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.waide.de\/wp-json\/wp\/v2\/categories?post=25"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.waide.de\/wp-json\/wp\/v2\/tags?post=25"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}