Saltar al contenido

¿Cómo puedo guardar un archivo en la ruta de clase?

Te doy la bienvenida a nuestra página web, aquí encontrarás la respuesta de lo que estás buscando.

Solución:

Utilizar ClassLoader#getResource() o getResourceAsStream() obtenerlos como URL o InputStream del classpath.

ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
InputStream input = classLoader.getResourceAsStream("com/example/file.ext");
// ...

O si está en el mismo paquete que la clase actual, también puede obtenerlo de la siguiente manera:

InputStream input = getClass().getResourceAsStream("file.ext");
// ...

El ahorro es una historia aparte. Esto no funcionará si el archivo se encuentra en un archivo JAR. Si puede asegurarse de que el archivo está expandido y se puede escribir, entonces convierta el URL desde getResource() para File.

URL url = classLoader.getResource("com/example/file.ext");
File file = new File(url.toURI().getPath());
// ...

A continuación, puede construir un FileOutputStream con eso.

Preguntas relacionadas:

  • getResourceAsStream() versus FileInputStream

Puede intentar lo siguiente siempre que su clase se cargue desde un sistema de archivos.

String basePathOfClass = getClass()
   .getProtectionDomain().getCodeSource().getLocation().getFile();

Para obtener un archivo en esa ruta, puede usar

File file = new File(basePathOfClass, "filename.ext");

new File(".").getAbsolutePath() + "relative/path/to/your/files";

Eres capaz de añadir valor a nuestro contenido cooperando tu veteranía en las aclaraciones.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *