View Javadoc
1   /*******************************************************************************
2    *   Gisgraphy Project 
3    * 
4    *   This library is free software; you can redistribute it and/or
5    *   modify it under the terms of the GNU Lesser General Public
6    *   License as published by the Free Software Foundation; either
7    *   version 2.1 of the License, or (at your option) any later version.
8    * 
9    *   This library is distributed in the hope that it will be useful,
10   *   but WITHOUT ANY WARRANTY; without even the implied warranty of
11   *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12   *   Lesser General Public License for more details.
13   * 
14   *   You should have received a copy of the GNU Lesser General Public
15   *   License along with this library; if not, write to the Free Software
16   *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA
17   * 
18   *  Copyright 2008  Gisgraphy project 
19   *  David Masclet <davidmasclet@gisgraphy.com>
20   *  
21   *  
22   *******************************************************************************/
23  package com.gisgraphy.helper;
24  
25  import java.io.File;
26  
27  /**
28   * 
29   * Some useful method to manage file
30   * 
31   * @author <a href="mailto:david.masclet@gisgraphy.com">David Masclet</a>
32   * 
33   */
34  public class FileHelper {
35  
36      /**
37       * @param path
38       *            The name of the temporary directory to create. A timestamp will be
39       *            added to make a unique directory, so you can use this method
40       *            several times with the same path. A common use is to give the
41       *            name of the class that needs to create the directory. 
42       * @return the created directory
43       * @throws RuntimeException
44       *             if we can not write in temporary directory
45       */
46      public static File createTempDir(String path) {
47          File tempDir = new File(System.getProperty("java.io.tmpdir"));
48          if (!tempDir.canWrite()) {
49              throw new RuntimeException("can not write in temp Directory :"
50          	    + tempDir.getAbsolutePath());
51          }
52      
53          tempDir = new File(System.getProperty("java.io.tmpdir")
54          	+ System.getProperty("file.separator") + path + "-"
55          	+ System.currentTimeMillis());
56      
57          tempDir.mkdir();
58          if (!tempDir.canWrite()) {
59              throw new RuntimeException("can not write in temp Directory :"
60          	    + tempDir.getAbsolutePath());
61          }
62          return tempDir;
63      }
64  
65  }