уникални имена на файлове
Имам един сървлет,който ми създава jpg файлове и след това ги записва в БД,като като първата част от името на файла (до разширението .jpg) се използва за ключ в табл. от БД ,в която ги записвам.
Работата е там, че искам имената да се създават автоматично и да са уникални.
Имате ли идея, как ще стане .
Това, което бях направила аз беше: имената да се образуват от датата и часа. И по този начин наистина се образуват уникални имена. Но когато дойде време да се връща часовника с 1 час назад (за да преминем в зимното часово време),всички файлове създадени в този час няма да бъдат записани в БД.
Чесно казано незнам как стой въпроса с времето по гриноич, там имали такива летни и зимни часове.
Какво да използвам за да създам файлове с уникални имена.
уникални имена на файлове
Това с времето може и да стане ако го обмислиш добре, но привидно по-проста идея според мен е следната: щом пишеш на Java, използвай предимствата -- всичко е обект, съответно всеки обект е уникален, измисли някое ID, което да отличава картинките ти като обекти и го ползвай за имената.
--Едит: всъщност ако сложиш ГОДИНА_МЕСЕЦ_ДЕН_ЧАС няма как да не са уникални и никаква смяна на времето не те бърка.
2005_03_14_0910.jpg примерно. не става ли?
уникални имена на файлове
уникални имена на файлове
Напротив бърка ме.
Да приемем,че сменяме часа на 31.10.2005, в 4 часа(минава ме на зимно,т.е.връща ме часовника 1 час назад.)
Какво става: файловете записани до 4 часа ще са следните:
2005-10-030100
...
2005-10-035959 (последните 6 цифри са : час(03), минути(59), секунди(59))
Става 4 часа и връщаме часовника с 1 час назад,т.е. пак е 3 часа и имената на файловете ще са пак същите, защото годината, деня и часа е същия.
Т.е. тези файлове, който са създадени 0т 3 до 4 след смяната на часа ще се загубяд.
уникални имена на файлове
уникални имена на файлове
Добре ще го пробвам.
Благодаря.
уникални имена на файлове
Може би е малко късно за помощ тук, но е по удобно да се използва функцията File.createTempFile(String prefix, String suffix, File directory). Името е гарантирано уникално.
Иначе съм виждал да се използва времето под формата на милисекунди. Проверяваш дали има такова име и ако няма създаваш файл, иначе прибавяш 1 и после пак проверяваш.