2016-04-19 5 views
1

Ich habe diesen JSP-Code, den ich ausführen möchte, um alle Zeilen aus einer .java-Datei zu lesen. Mein Verzeichnisbaum sieht wie folgt aus:FileSystemNotFoundException: Provider "jndi" nicht installiert

| WebContent 

- | resources 

- - | Foobar.java (The file I need to read it's lines) 

- jspfile.jsp (Where I'm running the code) 

Mein Code:

String.join("\n", (String[])Files.readAllLines(Paths.get(getServletContext().getResource("/resources/Foobar.java").toURI()), Charset.defaultCharset()).toArray()); 

Jedes Mal, wenn ich versuche, dies zu laufen bekomme ich diesen Fehler:

java.nio.file.FileSystemNotFoundException: Provider "jndi" not installed 
    java.nio.file.Paths.get(Unknown Source) 

Ich habe ehrlich gesagt keine Ahnung, was das bedeutet und ich würde etwas Hilfe lieben

+0

Eine Ressource ist keine Datei und eine URL einer Ressource ist kein Dateiname. Sie können die Ressource als Stream abrufen. Tun Sie dies. – EJP

Antwort

0

Danke allen, ich aufgewickelt mit diesem Code:

public String readResource(String resource){ 
     try{ 
      BufferedReader in = new BufferedReader(new InputStreamReader(getServletContext().getResourceAsStream("/resources/"+resource))); 
     String line = null; 

     String data = ""; 
     while((line = in.readLine()) != null) { 
      if(data!="")data+="\n"; 
      data+=line; 
     } 
     return data; 
     }catch(IOException e){ 
      return ""; 
     } 
    } 

Es funktioniert super!

Verwandte Themen