FileInputStream 中具有限定文件名的 java.io.FileNotFoundException

标签 java fileinputstream

以下代码出现以下错误: 我在 FileInputStream 构造函数中传递带有完整添加的文件名。 前任-: 本地主机:8080/projectName/OuterFolder/InnerFloder/example.doc

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)

最佳答案

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

不是有效的文件路径。在 Windows 上,没有像“C:”那样的“驱动器”字母“http:”。 事实上我怀疑“InnerFloder”是否也存在。

如果您从网络应用程序获取它,请使用以下in:

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

要将文件写入某处(您无法将其写回网络应用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();

这是一个新文件。

关于FileInputStream 中具有限定文件名的 java.io.FileNotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18056023/

相关文章:

java - Recyclerview 扩展多个项目

Web 服务中的 Java FileInputStream

java - 使用 ObjectOutputStream 写入文件而不覆盖旧数据

java - 为什么我不能使用 FileInputStream 来提供 MessageDigest 对象?

Java FileInputStream读取字符不准确????

java - 匹配正则表达式 OR 和 AND

java - 每天在一天中的特定时间运行 Web 服务(从 Tomcat 参数获取时间)

java - 将字符串日期转换为 SQL 日期

java - ECDSA算法教程来签署一个字符串

java - 读取 Swift Message Prowide (WIFE) 后关闭 fileInputStream