2013-08-05 54 views
0

下面的錯誤代碼如下: 我將FileInputStream構造函數中的完整添加名傳遞給文件名。 EX-: 本地主機:8080 /項目名稱/ OuterFolder/InnerFloder/example.doc帶有限定文件名的FileInputStream中的java.io.FileNotFoundException

logger.info("File Path: "+ path+"/OuterFolder/InnerFloder/"+fileName); 

POIFSFileSystem fs = new POIFSFileSystem(new 
       FileInputStream(path+"/OuterFolder/InnerFloder/"+fileName)); 
http:\localhost:8080\projectName\OuterFolder\InnerFloder\Example.doc (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 java.io.FileInputStream.<init>(Unknown Source) 
    at com.avi.service.UserService.createPolicy(UserService.java:1339) 
    at com.avi.service.UserService$$FastClassByCGLIB$$de8fbe27.invoke(<generated>) 
    at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) 
    at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:617) 
    at com.avi.service.UserService$$EnhancerByCGLIB$$7c22f094_2.createPolicy(<generated>) 
    at com.avi.controller.TestController.openPolicy(TestController.java:2733) 
+1

不應該在雙引號內(第二行)「Example.doc」? –

+0

什麼是日誌輸出?什麼是「路徑」? –

+1

路徑是一個字符串變量,具有如下完整路徑: - http:// localhost:8080/projectName/ – Avinash

回答

1

FileInputStream需要在文件系統不是實際的文件路徑的URL。

+0

這是對的? ** localhost:8080/projectName/OuterFolder/InnerFloder/example.doc ** – Avinash

+2

否,'localhost:8080/...'不是有效的本地路徑名稱 –

3
http:\localhost:8080\projectName\OuterFolder\InnerFloder\Example.doc 

不是有效的文件路徑。在Windows上,沒有像「C:」那樣的「驅動器」字母「http:」。其實我懷疑,也有一個「InnerFloder」。

如果從Web應用程序得到它,請使用以下in

URL url = new URL(path + "/OuterFolder/InnerFloder/Example.doc"); 
InputStream in = url.openStream(); 

在某處寫的文件(你可以把它寫回Web應用程序http://...),選擇一個文件:

File file = new File("C:/OuterFolder/InnerFloder/" + fileName); 
file.getParentFile().mkdirs(); // Create any missing directories 
OutputStream out = new BufferedOutputStream(new FileOutputStream(file)); 
fs.writeFileSystem(out); 
out.close(); 

這是一個新文件。

+1

不應該是'url.openStream()'? –

+0

它的工作@Joop,但它不與'FileWriter'類 – Avinash

+0

@AdrianJandl:你是對的。它應該是'url.openStream()' ,因爲從類型URL – Avinash

相關問題