<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=UTF-8" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Does "Strings.setDateTimeFromFileName" by any chance use
java.util.SimpleDateFormat stored in a static field?<br>
<br>
Otherwise, could you please send us some <i>working</i> code that we
can run in order to see the effect you are talking about?<br>
<pre class="moz-signature" cols="72">Regards

Heinz
-- 
Dr Heinz M. Kabutz (PhD CompSci)
Author of "The Java(tm) Specialists' Newsletter"
Sun Java Champion
IEEE Certified Software Development Professional
<a class="moz-txt-link-freetext" href="http://www.javaspecialists.eu">http://www.javaspecialists.eu</a>
Tel: +30 69 72 850 460
Skype: kabutz 
</pre>
<br>
<br>
On 1/23/12 10:31 AM, <a class="moz-txt-link-abbreviated" href="mailto:edsen@libero.it">edsen@libero.it</a> wrote:
<blockquote
 cite="mid:8387875.16441641327307470071.JavaMail.defaultUser@defaultHost"
 type="cite">
  <p style="margin: 0px; padding: 0px;"
 mce_style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px">Hello,</p>
  <p style="margin: 0px; padding: 0px;"
 mce_style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px"> </p>
  <p style="margin: 0px; padding: 0px;"
 mce_style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px">I
need orders my files from list directory, that is changing continously.</p>
  <p style="margin: 0px; padding: 0px;"
 mce_style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px">My
files must be fetched by order-date (oldest from newest...) and I check
the age of files from file naming convention. The files
are:XXXXX_yymmdd.</p>
  <p style="margin: 0px; padding: 0px;"
 mce_style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px">Below
you can find the code that get the following input parameters: </p>
  <p style="margin: 0px; padding: 0px;"
 mce_style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px"> </p>
  <p style="margin: 0px; padding: 0px;"
 mce_style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px">-
  <strong><font color="#7f0055" size="2"><font color="#7f0055" size="2">this</font></font><font
 size="2">.</font><font color="#0000c0" size="2"><font color="#0000c0"
 size="2">directory: directory of file list.</font></font></strong></p>
  <p style="margin: 0px; padding: 0px;"
 mce_style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px"><strong><font
 color="#0000c0" size="2">- fileRegexp: regular expression in order to
retrieve the date.</font></strong></p>
  <p style="margin: 0px; padding: 0px;"
 mce_style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px"><strong><font
 color="#0000c0" size="2">- datetimeGroup: group where the date is
present in the file naming convention.</font></strong></p>
  <p style="margin: 0px; padding: 0px;"
 mce_style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px"><strong><font
 color="#0000c0" size="2">- timestampFromFileNameFormat: date format
convention.</font></strong></p>
  <p style="margin: 0px; padding: 0px;"
 mce_style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px"> </p>
  <p><font color="#3f7f5f" size="2"><font color="#3f7f5f" size="2">
  <p align="left">// get the list of files currently in the directory</p>
  </font></font></p>
  <p><font size="2"></font></p>
  <p><font size="2">File[] files = </font></p>
  <p><strong><font color="#7f0055" size="2"><font color="#7f0055"
 size="2">this</font></font><font size="2">.dirListByDate(</font><strong><font
 color="#7f0055" size="2"><font color="#7f0055" size="2">this</font></font><font
 size="2">.</font><font color="#0000c0" size="2"><font color="#0000c0"
 size="2">directory</font></font><font size="2">,fileRegexp,datetimeGroup,timestampFromFileNameFormat);</font></strong></strong></p>
  <p style="margin: 0px; padding: 0px;"><strong></strong> </p>
  <p style="margin: 0px; padding: 0px;"><strong></strong> </p>
  <p align="left">
  </p>
  <p><font color="#7f0055" size="2"><font color="#7f0055" size="2"></font></font></p>
  <p align="left"><b><font color="#7f0055" size="2"><font
 color="#7f0055" size="2">
  </font></font></b></p>
  <p align="left"><b><font color="#7f0055" size="2"><font
 color="#7f0055" size="2">protected </font></font></b><font size="2"> File[]
dirListByDate(</font><b><font color="#7f0055" size="2"><font
 color="#7f0055" size="2">final</font></font></b><font size="2"> File
folder, </font><b><font color="#7f0055" size="2"><font color="#7f0055"
 size="2">final</font></font></b><font size="2"> Pattern fileRegexp, </font><b><font
 color="#7f0055" size="2"><font color="#7f0055" size="2">final</font></font></b><font
 size="2"> </font><b><font color="#7f0055" size="2"><font
 color="#7f0055" size="2">int</font></font></b><font size="2">
datetimeGroup, </font><b><font color="#7f0055" size="2"><font
 color="#7f0055" size="2">final </font></font></b><font size="2">String
timestampFromFileNameFormat) </font><b><font color="#7f0055" size="2"><font
 color="#7f0055" size="2">throws </font></font></b><font size="2">IOException
{</font></p>
  <p> </p>
  <p style="margin: 0px; padding: 0px;"><b><font color="#7f0055"
 size="2"><font color="#7f0055" size="2">if </font></font></b><font
 size="2"> (!folder.isDirectory() || !folder.exists()) {</font></p>
  <p><b><font color="#7f0055" size="2"><font color="#7f0055" size="2">throw</font></font></b><font
 size="2"> </font><b><font color="#7f0055" size="2"><font
 color="#7f0055" size="2">new</font></font></b></p>
  <p align="left"><font size="2"> IOException(folder.getName() +  </font><font
 color="#2a00ff" size="2"><font color="#2a00ff" size="2">" : Not a
folder or not exist"</font></font><font size="2">);</font></p>
  <p align="left"><font size="2">}</font></p>
  <p align="left"><font size="2"> </font></p>
  <p align="left"><font size="2">File files[] = </font><b><font
 color="#7f0055" size="2"><font color="#7f0055" size="2">this</font></font></b><font
 size="2">.list(folder, </font><b><font color="#7f0055" size="2"><font
 color="#7f0055" size="2">false</font></font></b><font size="2">); </font></p>
  <p align="left"><font color="#3f7f5f" size="2"><font color="#3f7f5f"
 size="2">// don't include <u>subfolder</u></font></font></p>
  <font size="2"></font>
  <p align="left"><font size="2">Arrays.<i>sort</i>(files, </font><b><font
 color="#7f0055" size="2"><font color="#7f0055" size="2">new</font></font></b><font
 size="2">Comparator<Object>() {</font></p>
  <p><b><font color="#7f0055" size="2"><font color="#7f0055" size="2">public</font></font></b><font
 size="2"> </font><b><font color="#7f0055" size="2"><font
 color="#7f0055" size="2">int</font></font></b><font size="2"> compare(</font><b><font
 color="#7f0055" size="2"><font color="#7f0055" size="2">final</font></font></b><font
 size="2"> Object o1, </font><b><font color="#7f0055" size="2"><font
 color="#7f0055" size="2">final </font></font></b><font size="2">Object
o2) {</font></p>
  <p style="margin: 0px; padding: 0px;"><font size="2"> </font></p>
  <p><b><font color="#7f0055" size="2"><font color="#7f0055" size="2">final
  </font></font></b><font size="2">String s1 = ((File) o1).getName();</font></p>
  <p><b><font color="#7f0055" size="2"><font color="#7f0055" size="2">final</font></font></b><font
 size="2"> String s2 = ((File) o2).getName();</font></p>
  <p><b><font color="#7f0055" size="2"><font color="#7f0055" size="2">final
  </font></font></b><font size="2"> Matcher m = fileRegexp.matcher(s1);</font></p>
  <p><b><font color="#7f0055" size="2"><font color="#7f0055" size="2">final
  </font></font></b><font size="2"> Matcher n = fileRegexp.matcher(s2);</font></p>
  <p> </p>
  <p style="margin: 0px; padding: 0px;"><b><font color="#7f0055"
 size="2"><font color="#7f0055" size="2">if </font></font></b><font
 size="2"> (m.matches() && n.matches()) {</font></p>
  <p><b><font color="#7f0055" size="2"><font color="#7f0055" size="2">final
  </font></font></b><font size="2">String date1 =
m.group(datetimeGroup);</font></p>
  <p><b><font color="#7f0055" size="2"><font color="#7f0055" size="2">final
  </font></font></b><font size="2">String date2 =
n.group(datetimeGroup);</font></p>
  <p><b><font color="#7f0055" size="2"><font color="#7f0055" size="2">final</font></font></b><font
 size="2"> </font><b><font color="#7f0055" size="2"><font
 color="#7f0055" size="2">long </font></font></b><font size="2">dateAndTime1
= Strings.<i>setDateTimeFromFileName</i>(date1,
timestampFromFileNameFormat);</font></p>
  <p><b><font color="#7f0055" size="2"><font color="#7f0055" size="2">final</font></font></b><font
 size="2"> </font><b><font color="#7f0055" size="2"><font
 color="#7f0055" size="2">long </font></font></b><font size="2">dateAndTime2
= Strings.<i>setDateTimeFromFileName</i>(date2,
timestampFromFileNameFormat);</font></p>
  <p style="margin: 0px; padding: 0px;"> </p>
  <p style="margin: 0px; padding: 0px;"><b><font color="#7f0055"
 size="2"><font color="#7f0055" size="2">return</font></font></b><font
 size="2"> dateAndTime1 < dateAndTime2 ? -1 : dateAndTime1 >
dateAndTime2 ? 1 : 0;</font></p>
  <p align="left"><font size="2">}</font></p>
  <p align="left"><b><font color="#7f0055" size="2"><font
 color="#7f0055" size="2">else</font></font></b></p>
  <font size="2"></font>
  <p align="left"><font size="2">{</font></p>
  <p><font color="#0000c0" size="2"><font color="#0000c0" size="2">log</font></font><font
 size="2">.error(</font><font color="#2a00ff" size="2"><font
 color="#2a00ff" size="2">"Files don't match...File1->"</font></font><font
 size="2"> + s1 + </font><font color="#2a00ff" size="2"><font
 color="#2a00ff" size="2">" File2 -> "</font></font><font size="2">
+ s2);</font></p>
  <p><font color="#0000c0" size="2"><font color="#0000c0" size="2">alarm</font></font><font
 size="2">.sendAlarm(AlarmInterface.</font><i><font color="#0000c0"
 size="2"><font color="#0000c0" size="2">FILE_NAMING_CONVENTION_FAILED</font></font></i><font
 size="2">,</font><font color="#2a00ff" size="2"><font color="#2a00ff"
 size="2">"File Naming Convention incorrect: "</font></font></p>
  <p align="left"><font size="2">+</font></p>
  <p align="left"><font size="2">s1 + </font></p>
  <p><font color="#2a00ff" size="2"><font color="#2a00ff" size="2">"
with size "</font></font><font size="2"> + s1.getBytes() + </font><font
 color="#2a00ff" size="2"><font color="#2a00ff" size="2">" of directory
"</font></font><font size="2"> + folder + s2 + </font></p>
  <p><font color="#2a00ff" size="2"><font color="#2a00ff" size="2">"
with size "</font></font><font size="2"> + s2.getBytes() + </font><font
 color="#2a00ff" size="2"><font color="#2a00ff" size="2">" of directory
"</font></font><font size="2">+ folder);</font></p>
  <p><b><font color="#7f0055" size="2"><font color="#7f0055" size="2">return
  </font></font></b><font size="2">0;</font></p>
  <p align="left"><font size="2">}</font></p>
  <p align="left"><font size="2">}</font></p>
  <p align="left"><font size="2">});</font></p>
  <p><b><font color="#7f0055" size="2"><font color="#7f0055" size="2">return
  </font></font></b><font size="2">files;</font></p>
  <p style="margin: 0px; padding: 0px;"
 mce_style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px"><strong></strong> </p>
  <p style="margin: 0px; padding: 0px;"
 mce_style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px"> </p>
  <p align="left">
  </p>
  <p><font color="#7f0055" size="2"><font color="#7f0055" size="2"></font></font></p>
  <p align="left"><b><font color="#7f0055" size="2"><font
 color="#7f0055" size="2">
  </font></font></b></p>
  <p align="left"><b><font color="#7f0055" size="2"><font
 color="#7f0055" size="2">protected</font></font></b><font size="2">
File[] list(File folder, </font><b><font color="#7f0055" size="2"><font
 color="#7f0055" size="2">boolean </font></font></b><font size="2">includeSubFolder)
{</font></p>
  <p> </p>
  <p style="margin: 0px; padding: 0px;"><b><font color="#7f0055"
 size="2"><font color="#7f0055" size="2">if </font></font></b><font
 size="2"> (!folder.isDirectory()) {</font></p>
  <p><b><font color="#7f0055" size="2"><font color="#7f0055" size="2">return</font></font></b><font
 size="2"> </font><b><font color="#7f0055" size="2"><font
 color="#7f0055" size="2">null</font></font></b><font size="2">;</font></p>
  <p align="left"><font size="2">}</font></p>
  <p align="left"><font size="2"> </font></p>
  <p align="left"><font size="2">File files[] = folder.listFiles();</font></p>
  <p align="left"><font size="2">List<File> list = </font><b><font
 color="#7f0055" size="2"><font color="#7f0055" size="2">new </font></font></b><font
 size="2">ArrayList<File>();</font></p>
  <p> </p>
  <p style="margin: 0px; padding: 0px;"><b><font color="#7f0055"
 size="2"><font color="#7f0055" size="2">for</font></font></b><font
 size="2"> (File file : files) {</font></p>
  <p> </p>
  <p style="margin: 0px; padding: 0px;"><b><font color="#7f0055"
 size="2"><font color="#7f0055" size="2">if </font></font></b><font
 size="2"> (file.isDirectory()) {</font></p>
  <p><b><font color="#7f0055" size="2"><font color="#7f0055" size="2">if
  </font></font></b><font size="2">(includeSubFolder) {</font></p>
  <p align="left"><font size="2">list.add(file); </font></p>
  <p align="left"><font size="2">  }</font></p>
  <p align="left"><font size="2">} </font></p>
  <p><b><font color="#7f0055" size="2"><font color="#7f0055" size="2">else</font></font></b></p>
  <p align="left"><font size="2"> {</font></p>
  <p align="left"><font size="2">list.add(file);</font></p>
  <p align="left"><font size="2">}</font></p>
  <p align="left"><font size="2">}</font></p>
  <p align="left"><font size="2"> </font></p>
  <p><b><font color="#7f0055" size="2"><font color="#7f0055" size="2">if</font></font></b><font
 size="2">(list.isEmpty()) {</font></p>
  <p><b><font color="#7f0055" size="2"><font color="#7f0055" size="2">return</font></font></b><font
 size="2"> list.toArray(</font><b><font color="#7f0055" size="2"><font
 color="#7f0055" size="2">new</font></font></b><font size="2">File[]
{});</font></p>
  <p align="left"><font size="2">}</font></p>
  <p><b><font color="#7f0055" size="2"><font color="#7f0055" size="2">return</font></font></b><font
 size="2"> list.toArray(</font><b><font color="#7f0055" size="2"><font
 color="#7f0055" size="2">new</font></font></b><font size="2"> File[]
{});</font></p>
  <p style="margin: 0px; padding: 0px;"><font size="2">}</font></p>
  <p style="margin: 0px; padding: 0px;"> </p>
  <p style="margin: 0px; padding: 0px;"><font size="2">What happens?
Happens that every thing works for 3-4 traffic days, but sometimes it
processes newest files instead of oldest.</font></p>
  <p style="margin: 0px; padding: 0px;"><font size="2">I don't
understand what can be wrong??</font></p>
  <p style="margin: 0px; padding: 0px;"><font size="2">Can you help me
in order to fix it?</font></p>
  <p style="margin: 0px; padding: 0px;"><font size="2">Can you suggest
me a solution?</font></p>
  <p style="margin: 0px; padding: 0px;"> </p>
  <p style="margin: 0px; padding: 0px;"><font size="2">Thanks in
advance.</font></p>
  <p style="margin: 0px; padding: 0px;"><font size="2">Kind regards.</font></p>
  <p style="margin: 0px; padding: 0px;"> </p>
  <p style="margin: 0px; padding: 0px;"><font size="2"> </font></p>
  <p style="margin: 0px; padding: 0px;"
 mce_style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px"><strong></strong> </p>
  <p style="margin: 0px; padding: 0px;"
 mce_style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px"> </p>
  <pre wrap="">
<hr size="4" width="90%">
_______________________________________________
Concurrency-interest mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Concurrency-interest@cs.oswego.edu">Concurrency-interest@cs.oswego.edu</a>
<a class="moz-txt-link-freetext" href="http://cs.oswego.edu/mailman/listinfo/concurrency-interest">http://cs.oswego.edu/mailman/listinfo/concurrency-interest</a>
  </pre>
</blockquote>
</body>
</html>