Pregunta

Estoy tratando de inicializar un objeto FileInputStream utilizando un objeto File. Estoy recibiendo un error de FileNotFound en la línea

fis = new FileInputStream(file);

Esto es extraño ya que he abierto este archivo a través del mismo método para hacer expresiones regulares muchas veces.

Mi método es el siguiente:

private BufferedInputStream fileToBIS(File file){

    FileInputStream fis = null;
    BufferedInputStream bis =null; 
    try {
        fis = new FileInputStream(file);
        bis = new BufferedInputStream(fis);
    } catch (FileNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }   
    return bis;
}

java.io.FileNotFoundException: C: \ dev \ servidor \ tomcat6 \ webapps \ sample in situ (Acceso denegado) Restaurant at java.io.FileInputStream.open (Nativo Método)     Restaurant at java.io.FileInputStream. (origen desconocido)     Restaurant at java.io.FileInputStream. (origen desconocido)     Restaurant at controller.ScanEditRegions.fileToBIS (ScanEditRegions.java:52)     Restaurant at controller.ScanEditRegions.tidyHTML (ScanEditRegions.java:38)     Restaurant at controller.ScanEditRegions.process (ScanEditRegions.java:64)     Restaurant at controller.ScanEditRegions.visitAllDirsAndFiles (ScanEditRegions.java:148)     Restaurant at controller.Manager.main (Manager.java:10)

¿Fue útil?

Solución

A juzgar por el StackTrace que ha pegado en su post me supongo que usted no tiene los derechos para leer el archivo.

La clase de archivos permite al usuario realizar comprobaciones útiles en un archivo, algunas de ellas:

boolean canExecute();
boolean canRead();
boolean canWrite();
boolean exists();
boolean isFile();
boolean isDirectory();

Por ejemplo, se puede comprobar para:. Exists () && isFile () && CanRead () e imprimir un mejor de mensajes de error en función de la razón por la cual usted no puede leer el archivo

Otros consejos

Esto se tiene que ver con la configuración de los permisos de archivos en el sistema operativo. Usted ha comenzado el proceso de Java como un usuario que no tiene derechos de acceso al directorio específico.

Es posible que desee asegurarse de que (en orden de probabilidad-campana):

  1. El archivo existe.
  2. El archivo no es un directorio.
  3. Usted o el proceso de Java tiene permisos para abrir el archivo.
  4. Otro proceso no tiene un bloqueo en el archivo (probable, ya que es probable que reciba una IOException estándar en lugar de FileNotFoundException)

Creo que se está ejecutando la declaración de Eclipse IDE Java o cualquier archivo de destino y también está presente en IDE espacio de trabajo. Que está recibiendo el error como Eclipse no puede leer el archivo de destino en el mismo espacio de trabajo. Puede ejecutar el código del símbolo del sistema. No debería través de cualquier excepción.

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