Pregunta

ejemplo y una creada aplicación servlet.

Funciona perfectamente bien con los caminos tmp_dir y DEST_DIR que se menciona en el código (He creado una carpeta llamada tmp en la unidad C y también he creado una carpeta llamada files dentro de mi carpeta de la aplicación.

Ahora estoy cambiando el código para una máquina Linux, si esto no funciona ya que no hay unidad denominada C: allí. He intentado sustituir el c:\\tmp del código para /tmp (y creé una carpeta tmp) dentro de mi carpeta de la aplicación. Pero no su trabajo. ¿Cómo puedo hacer que este código genérico? Por favor avise.

¿Fue útil?

Solución

Si lo que desea es un uso directorio temporal http : //commons.apache.org/io/apidocs/org/apache/commons/io/FileUtils.html y buscarse un getTempDirectory (). Esto debería funcionar en cualquier lugar

Por lo que necesita el directorio temporal del sistema que es proporcionada por el sistema. Usted puede obtener este bien a través de su paso oa través del archivo real. (IOUtils ofrece dos enfoques). Aquí; s la documentación IOUtil: getTempDirectory

public static File getTempDirectory()

    Returns a File representing the system temporary directory.

    Returns:
        the system temporary directory.

Así que si usted escribe:

File myTempFile = IOUtils.getTempDirectory();

A continuación, myTempFile será la que desea escribir.

Si alguna aplicación está pidiendo el directorio por su nombre, puede utilizar getTempDirectoryPath () que dará el nombre de ruta.

En el ejemplo que iba a escribir:

private static final String TMP_DIR_PATH = IOUtils.getTempDirectoryPath();

o usar el enfoque de las adelfas @:

private static final String TMP_DIR_PATH = System.getProperty("java.io.tmpdir");

Yo esperaría que dar la misma respuesta.

Si todavía está confundido seguir pidiendo - eso es lo que también lo es para

ACTUALIZACIÓN: Si usted está haciendo lo con archivos que vale la pena familiarizarse con FileUtils y IOUtils de Apache. Hay varias cosas que el JDK no lo hace bien o naturalmente y Apache da un mejor soporte.

Otros consejos

La ubicación del directorio de la plataforma específica se utiliza para mantener los archivos temporales se define por la java.io.tmpdir propiedad.

Así que en su código que puede utilizar:

private static final String TMP_DIR_PATH = System.getProperty("java.io.tmpdir")

File.pathSeparator para obtener dependiente del sistema separador de ruta.

Editado:

Si lo que desea es un directorio temporal a continuación, utilizar File.createTempFile (..)

Ejemplo ruta de archivo: http://www.exampledepot.com/egs/ java.io/ConstructFilePath.html

archivo temporal Ejemplo: http://www.exampledepot.com/egs/ java.io/CreateTempFile.html

Editado:

El archivo del ahorro en el entorno de Servlet: aquí

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top