具有限定文件名的FileInputStream中的java.io.FileNotFoundException
使用以下代码获取以下错误: 我用完整的外接程序FileInputStream构造函数传递文件名。 例-: localhost:8080/projectName/OuterFolder/InnerFloder/example.doc具有限定文件名的FileInputStream中的java.io.FileNotFoundException,java,fileinputstream,Java,Fileinputstream,使用以下代码获取以下错误: 我用完整的外接程序FileInputStream构造函数传递文件名。 例-: localhost:8080/projectName/OuterFolder/InnerFloder/example.doc logger.info("File Path: "+ path+"/OuterFolder/InnerFloder/"+fileName); POIFSFileSystem fs = new POIFSFileSystem(new
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(文件名、目录名或卷标语法不正确)
在java.io.FileInputStream.open(本机方法)
位于java.io.FileInputStream。(未知源)
位于java.io.FileInputStream。(未知源)
位于com.avi.service.UserService.createPolicy(UserService.java:1339)
在com.avi.service.UserService$$FastClassByCGLIB$$de8fbe27.invoke()上
net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
位于org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:617)
在com.avi.service.UserService$$enhancerbyglib$$7c22f094_2.createPolicy()上
位于com.avi.controller.TestController.openPolicy(TestController.java:2733)
FileInputStream
需要文件系统中的实际文件路径,而不是URL FileInputStream
需要文件系统中的实际文件路径,而不是URL
http:\localhost:8080\projectName\OuterFolder\InnerFloder\Example.doc
不是有效的文件路径。在windows上没有“驱动器”字母“http:”像“C:”。
事实上,我怀疑“内部弗洛德”是否也存在
如果您是从web应用程序获取的,请在中使用以下:
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();
这是一个新文件
不是有效的文件路径。在windows上没有“驱动器”字母“http:”像“C:”。
事实上,我怀疑“内部弗洛德”是否也存在
如果您是从web应用程序获取的,请在
中使用以下:
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();
这是一个新文件。不应该将“Example.doc”放在双引号内(第二行)?日志输出是什么?什么是path
?path是一个具有完整路径的字符串变量,如:-@Andreas:这是记录器输出-文件路径:@Avi请参阅下面的shyams答案“Example.doc”不应该在双引号内(第二行)?日志输出是什么?什么是path
?path是一个具有完整路径的字符串变量,如:-@Andreas:这是记录器输出-文件路径:@Avi See shyams答案如下wit是否正确??localhost:8080/projectName/OuterFolder/InnerFloder/example.docNo,localhost:8080/…
不是有效的本地路径名是否正确??localhost:8080/projectName/OuterFolder/InnerFloder/example.docNo,localhost:8080/…
不是有效的本地路径名称,不是吗url.openStream()
?它可以@Joop工作,但不能与FileWriter
class@AdrianJandl你说得对。它应该是url.openStream()
,因为url类型中对非静态方法openStream()的静态引用与FileWriter writer=new FileWriter(path+“/downloads/policies/currentsac.doc”)
和url不能与FileWriter
类一起使用。@AdrianJandl:更正,谢谢@Avi:使用http:
时,文件系统上不需要存在任何文件。我已经扩展了答案;FileWriter(全部带有…Writer/Reader)用于文本,.doc
是二进制数据,因此需要…Stream
。它不应该是url.openStream()
?它可以@Joop工作,但不能与FileWriter
class@AdrianJandl你说得对。它应该是url.openStream()
,因为url类型中对非静态方法openStream()的静态引用与FileWriter writer=new FileWriter(path+“/downloads/policies/currentsac.doc”)
和url不能与FileWriter
类一起使用。@AdrianJandl:更正,谢谢@Avi:使用http:
时,文件系统上不需要存在任何文件。我已经扩展了答案;FileWriter(全部带有…Writer/Reader)用于文本,.doc
是二进制数据,因此需要…流
。