Eclipse no puede localizar el archivo: FileNotFoundException en el uso de objetos de archivo

Cuando intento acceder a un objeto File en Java usando Eclipse, el sistema envía una FileNotFoundException cada vez que se accede al archivo. Creé el archivo manualmente y lo coloqué dentro del navegador de archivos de Eclipse. El archivo tiene contenido, por lo que el problema no es que esté vacío. Estoy inicializando el archivo con

File file = new File(this.getClass().getResource("save.txt").toString());

y accediendo con

PrintWriter p = new PrintWriter(file);

que envía el error El stacktrace fluye a través de nada excepto una ruta de inicializaciones que crean esta clase. La excepción es

java.io.FileNotFoundException: file:\C:\Users\Nathaniel\Downloads\ERPGE-Global%20Equestria%20Workspace\Swarm\bin\main\save.txt (The filename, directory name, or volume label syntax is incorrect)

¿Qué podría estar causando este error y cómo se puede solucionar?

Respuesta 1

Debe asegurarse de que el recurso esté incluido en la ruta de compilación del proyecto.

Puede hacer esto de dos maneras:

  1. Póngalo en una carpeta (por ejemplo, "res") y luego agregue esa carpeta a la ruta de compilación. De esa manera, todos los archivos de la carpeta se agregarán a la ruta de compilación.
  2. Póngalo dentro de (una) de sus carpetas de origen. Tenga en cuenta que si lo coloca dentro de una carpeta de paquete, deberá incluir la ruta relativa a esa carpeta (consulte a continuación).

Personalmente prefiero la opción # 1.

Editar: también puede resultarle útil tener subdirectorios de la carpeta res. Si tiene un archivo como res / images / button.png y ha agregado la carpeta res a la ruta de compilación, debe acceder al archivo con la cadena "images / button.png" .

Edición 2: se corrigió información engañosa.

Respuesta: 2

Tengo un EntryListener experimental en un Hazelcast Map que llama a .size () en cada entrada. Quiero saber si esta es una mala idea y si podría ser un problema de rendimiento, ya que es un clúster ...

Estoy tratando de hacer cuando se hace clic en el botón de form1 abrir form2. Suena muy simple, pero no pude encontrar ninguna forma de hacerlo. Estoy usando Java Intellij. Cuando uso netbeans y swing estaba haciendo esto con: ...

Mi código es supra simple: DocumentBuilder db = DocumentBuilderFactory.newInstance (). NewDocumentBuilder (); Documento doc = db.parse ("http://blog.rogermontgomery.com/feed/?cat=skaffold"); El problema ...

Soy bastante nuevo en programación y estoy tratando de hacer una GUI de Buscaminas. El juego funcionó perfectamente haciendo clic derecho en un JToggleButton que mostraba una "B" para la bomba en el botón, pero cuando reemplacé el setText (...