Zugriff auf eine Datei im Netzwerk-Pfad
Ich habe eine wav-Datei im Netzwerk-Pfad konnte ich darauf zugreifen können ausführen als \192.106.100.35\Aufgezeichneten Dateien
von diesem Ordner habe ich Zugriff auf 536.wav-Datei ,ich habe versucht, wie
code
File file = new File("file://192.106.100.35/Recorded%20files/536.wav");
FileInputStream fis;
byte[] buffer=null;
fis = new FileInputStream(file);
buffer= new byte[fis.available()];
fis.read(buffer);
fis.close();
aber gibt
java.io.FileNotFoundException: file:\192.106.100.35\Recorded%20files\536.wav (The filename, directory name, or volume label syntax is incorrect)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(Unknown Source)
at com.pointel.chart.PlayAudio.doGet(PlayAudio.java:39)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)
Oct 31, 2013 5:51:02 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet PlayAudio threw exception
java.lang.NullPointerException
at org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputStream.java:83)
at com.pointel.chart.PlayAudio.doGet(PlayAudio.java:62)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)
Jede Hilfe ist willkommen
InformationsquelleAutor user2779544 | 2013-10-31
Du musst angemeldet sein, um einen Kommentar abzugeben.
java.io.File
funktioniert nur mit der lokalen Festplatte. Verwendenjava.net.URL
statt für Netzwerk-Ressourcen:damit dies funktioniert, benötigen Sie einen server auf
192.106.100.35
welche das HTTP-Protokoll unterstützt und das macht die Datei als/Recorded%20files/536.wav
Andere Optionen sind per NFS oder SMB (zum mounten eines remote-Datei-system auf dem lokalen computer; danach können Sie
File
wieder).Sie können versuchen, jcifs.samba.org, aber die Letzte Version ist von 2011. Welches OS?
ok,das Windows xp
Ordnen Sie der Netzwerkfreigabe mit den normalen tools. Das wird die remote-Datei sichtbar in der lokalen Datei-system und Java wird in der Lage sein, um es zu laden.
InformationsquelleAutor Aaron Digulla
Kurze version ist, können Sie nicht tun.
Javadoc hier Ich vermute, vielleicht ist das eine windows-Freigabe? Aber wie Sie es bekommen, hängt von der server-Seite. Wenn Sie können tatsächlich montieren Sie das remote-Gerät z.B.(NFS/Samba/CIFS) dann, das Sie retten könnte dieser Ansatz. Aber wenn es wie ein HTTP-server sind Sie völlig auf dem Holzweg.
InformationsquelleAutor Terry