java.io.FileNotFoundException: (wsdl2java 系统找不到到指定的路径。

Java解决java.io.FileNotFoundException: E:\work\work (拒绝访问。) - 博客频道 - CSDN.NET
YQS_Love的博客
分类:Java
在使用FileInputStream时会遇到如下问题1和问题2。
java.io.FileNotFoundException: .\xxx\xxx.txt (系统找不到指定的路径。)
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.&init&(Unknown Source)
at java.io.FileOutputStream.&init&(Unknown Source)
at com.yaohong.test.InputStreamTest.fileInputStream(InputStreamTest.java:13)
at com.yaohong.test.InputStreamTest.main(InputStreamTest.java:27)
java.io.FileNotFoundException: .\xx\xx (拒绝访问。)
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.&init&(Unknown Source)
at java.io.FileOutputStream.&init&(Unknown Source)
at com.yaohong.test.InputStreamTest.fileInputStream(InputStreamTest.java:13)
at com.yaohong.test.InputStreamTest.main(InputStreamTest.java:27)
当遇到问题1时,的确是当前所指定的文件不存在或者目录不存在。
当遇到第二个问题时,是因为你访问了一个文件目录,而不是文件,因此会抛出问题2的异常。
三、解决办法
第一个的解决办法是,先判断一下当前文件是否存在,如果存在则略过,如果不存在,在创建,具体做法如下:
File file = new File("./mywork/work.txt");
if(!file.exists()){
file.getParentFile().mkdir();
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
第二个的解决办法是,在填写文件的路径时一定要具体到文件,如下:
File file = new File("./mywork/work.txt");
而不能写成:
File file = new File("./mywork/");
因为这样你访问的是一个目录,因此就拒绝访问。
四、源码(我的demo)
1、文件输出流
* 文件输出流方法
public void fileOutputStream() {
File file = new File("./mywork/work.txt");
FileOutputStream out = null;
if (!file.exists()) {
file.getParentFile().mkdir();
file.createNewFile();
out = new FileOutputStream(file);
byte[] byteArr = "FileInputStream Test".getBytes();
out.write(byteArr);
byteArr = null;
out.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
2、文件输入流方法
* 文件输入流
public void fileInputStream() {
File file = new File("./mywork/work.txt");
FileInputStream in = null;
if (!file.exists())
new FileNotFoundException();
in = new FileInputStream(file);
byte bytArr[] = new byte[1024];
int len = in.read(bytArr);
System.out.println("Message: " + new String(bytArr, 0, len));
in.close();
bytArr = null;
} catch (IOException e) {
e.printStackTrace();
如有错误,还望指正,谢谢合作。
排名:千里之外
(9)(4)(1)(1)(6)(1)(1)本帖子已过去太久远了,不再提供回复功能。系统找不到指定的路径 解决 (log4j配置问题) -
- ITeye博客
配置OpenUddi时遇到下面的报错:
log4j:ERROR setFile(null,true) call failed.java.io.FileNotFoundException: \tmp\uddi-access.log (系统找不到指定的路径。) at java.io.FileOutputStream.openAppend(Native Method) at java.io.FileOutputStream.&init&(FileOutputStream.java:177) at java.io.FileOutputStream.&init&(FileOutputStream.java:102) at org.apache.log4j.FileAppender.setFile(FileAppender.java:272) at org.apache.log4j.RollingFileAppender.setFile(RollingFileAppender.java:156) at org.apache.log4j.FileAppender.activateOptions(FileAppender.java:151) at org.apache.log4j.config.PropertySetter.activate(PropertySetter.java:247) at org.apache.log4j.config.PropertySetter.setProperties(PropertySetter.java:123) at org.apache.log4j.config.PropertySetter.setProperties(PropertySetter.java:87) at org.apache.log4j.PropertyConfigurator.parseAppender(PropertyConfigurator.java:645) at org.apache.log4j.PropertyConfigurator.parseCategory(PropertyConfigurator.java:603) at org.apache.log4j.PropertyConfigurator.parseCatsAndRenderers(PropertyConfigurator.java:524) at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:408) at org.apache.log4j.PropertyConfigurator.configure(PropertyConfigurator.java:340) at com.novell.uddi3.LogInitializer.contextInitialized(LogInitializer.java:67) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3934) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4429) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:526) at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:850) at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:724) at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:493) at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1206) at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:314) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053) at org.apache.catalina.core.StandardHost.start(StandardHost.java:722) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045) at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443) at org.apache.catalina.core.StandardService.start(StandardService.java:516) at org.apache.catalina.core.StandardServer.start(StandardServer.java:710) at org.apache.catalina.startup.Catalina.start(Catalina.java:583) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
从报错信息上来看是我在运行OpenUddi时,有文件找不到。
其实真正原因是log4j.properties里的一个配置项有问题,我的文件中有这样一项:
log4j.appender.ACCESS_FILE.File=/tmp/uddi-access.log
根据这样的配置项log4j会为你依照这个目录找到uddi-access.log, 如果没有这个文件,也会帮你创建文件,但是如果这个目录不存在,它就报错啦。现在的配置log4j会认为Tomcat所在的根目录下有一个tmp文件夹,但是我的D盘下没有这个folder,所以就报错了。
1.在D盘下创建一个tmp
2.改配置项,比如:
log4j.appender.ACCESS_FILE.File=../webapps/uddi/uddi-access.log
浏览 18599
浏览: 114891 次
来自: 北京
发内网邮件发不了,求指导文件路径正确,报java.io.FileNotFoundException异常的原因及解决办法
作者:安之若素
字体:[ ] 类型:转载 时间:
这篇文章主要介绍了文件路径正确,报java.io.FileNotFoundException异常的原因及解决办法的相关资料,需要的朋友可以参考下
新添加个发文类型
insert into mis.zyb_sf_type values('121','榆财法字','榆财法字',2,'0','1',21,NULL,'0','发文模板.doc','')
创建文章时出错了,
异常信息:
文件保存失败
Java.io.FileNotFoundException: E:\tomcat\jinzhongshi\jinzs_yuci\webapps\myDoJZS\word\template_fw\发文模版.doc (系统找不到指定的文件。)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.&init&(FileInputStream.java:106)
.ctdos.businessx.special.fw.service.SpFwDAOImpl.CopyFile(SpFwDAOImpl.java:990)
.ctdos.businessx.special.fw.service.SpFwDAOImpl.doNewZybFwAttach(SpFwDAOImpl.java:938)
.ctdos.businessx.special.fw.service.SpFwDAOImpl$$FastClassByCGLIB$$93d79680.invoke(&generated&)
at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
查找这个目录文件都确实存在,( E:\tomcat\jinzhongshi\jinzs_yuci\webapps\myDoJZS\word\template_fw\发文模版.doc ) 又重新部署启动了两次,仍然是这个问题,难不成是文件本身有问题?新建一个文件,名字也一样,如图右边那个11k 的,两文档名字一样也不冲突,
猜想可能是在不同操作系统上创建的?所以字符编码不一样?我也不知道了。
把左边那个原来的文件的文件名"发文模版.doc"复制下来,粘贴在了SQL语句中( 原来的SQL汉字是自己敲上去的 ),
insert into mis.zyb_sf_type values('121','榆财法字','榆财法字',2,'0','1',21,NULL,'0','发文模板.doc','')
再执行一次,一切正常了。
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具}

我要回帖

更多关于 系统找不到java 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信