java。。。java编译找不到文件件??

Java项目读取配置文件时,FileNotFoundException系统找不到指定的文件如何解决?
唉,读取个文件,也就是在项目里面去获得配置文件的目录,然后,变成文件,有事没事,总是出个FileNotFoundException找不到指定的文件,气死人啦。
还有就是:System.getProperty(&user.dir&),都说获得的是&工作目录&,有老铁们在意这个,工作目录怎么理解吗?我这做了个简单的测试。
但是,你把这个配置文件放在项目的根目录下面,也就是 说你的项目文件夹下面直接放一个配置文件,这个时候,就可以,啥前缀不加的,就可以读取到,这个配置文件啦。
但是,这么放置配置文件,好像有点不合适。
那么,这个路径究竟该如何写,才不会报错呢?
1,在 java project 中的配置文件读取,项目打包是jar类型的。
System.getProperty(&user.dir&);
默认定位到的当前用户目录(&user.dir&)(即工程根目录)
JVM就可以据&user.dir& + &你自己设置的目录& 得到完整的路径(即绝对路径)
这有个前提,你的工程不是web项目,不然,这个返回值就不是项目的根目录啦,是tomcat的bin目录。
2,在 java web project 中的配置文件读取
ServletActionContext.getServletContext().xxx
这地方的 ServletActionContext 可不是让你,直接拿来使用的,得分情况而定。
System.out.println(&getProperty(\&user.dir\&) & + System.getProperty(&user.dir&));
System.out.println(&getServletContext&);
System.out.println(&getRealPath & + request.getSession().getServletContext().getRealPath(&/&));
System.out.println(&getContextPath & + request.getSession().getServletContext().getContextPath());
System.out.println(&getResourcePaths & + request.getSession().getServletContext().getResourcePaths(&/&));
System.out.println(&getResourcePaths & + request.getSession().getServletContext().getResourceAsStream(&/WEB-INF/classes/error.xml&));
想知道这个运行的结果吗?
一般,老铁们搜索文章,都搜索到的是
System.getProperty(&user.dir&)
获得的是工作目录,这个搜索结果千篇一律。简直可怕。因为,这些老铁们从来没测试过。
什么叫工作目录。。。
可以看到,我这个在, web项目里面的允许结果,竟然是tomcat的bin 目录。这个懂的自然懂,不懂的,还是渣渣的迷糊。
在非Java web 的项目里面,这个 System.getProperty(&user.dir&) 的运行结果,如下。1被浏览2,393分享邀请回答0添加评论分享收藏感谢收起0添加评论分享收藏感谢收起写回答新手园地& & & 硬件问题Linux系统管理Linux网络问题Linux环境编程Linux桌面系统国产LinuxBSD& & & BSD文档中心AIX& & & 新手入门& & & AIX文档中心& & & 资源下载& & & Power高级应用& & & IBM存储AS400Solaris& & & Solaris文档中心HP-UX& & & HP文档中心SCO UNIX& & & SCO文档中心互操作专区IRIXTru64 UNIXMac OS X门户网站运维集群和高可用服务器应用监控和防护虚拟化技术架构设计行业应用和管理服务器及硬件技术& & & 服务器资源下载云计算& & & 云计算文档中心& & & 云计算业界& & & 云计算资源下载存储备份& & & 存储文档中心& & & 存储业界& & & 存储资源下载& & & Symantec技术交流区安全技术网络技术& & & 网络技术文档中心C/C++& & & GUI编程& & & Functional编程内核源码& & & 内核问题移动开发& & & 移动开发技术资料ShellPerlJava& & & Java文档中心PHP& & & php文档中心Python& & & Python文档中心RubyCPU与编译器嵌入式开发驱动开发Web开发VoIP开发技术MySQL& & & MySQL文档中心SybaseOraclePostgreSQLDB2Informix数据仓库与数据挖掘NoSQL技术IT业界新闻与评论IT职业生涯& & & 猎头招聘IT图书与评论& & & CU技术图书大系& & & Linux书友会二手交易下载共享Linux文档专区IT培训与认证& & & 培训交流& & & 认证培训清茶斋投资理财运动地带快乐数码摄影& & & 摄影器材& & & 摄影比赛专区IT爱车族旅游天下站务交流版主会议室博客SNS站务交流区CU活动专区& & & Power活动专区& & & 拍卖交流区频道交流区
白手起家, 积分 30, 距离下一级还需 170 积分
论坛徽章:0
当您使用 Windows 轻松传送 在 Windows 7 中还原数据从跨分区的迁移存储时,您会收到以下错误消息:
当 Windows 轻松传送不能打开该文件。
当跨区卷的迁移存储文件不在相同的位置或跨区卷的迁移存储区已损坏时,会发生此问题。
方法一: 验证迁移存储文件的位置
1、单击开始按钮,然后点击“计算机”,打开资源管理器
2、在右上角,搜索框中键入 *.mig,然后按 回车 键。
3、请注意具有如 *.mig、 *.mig01,等 *.mig 扩展名的所有文件的位置。
4、请确保具有 *.mig 扩展名的所有文件都都在同一个文件夹中。如果它们不是在同一文件夹中,请按照下列步骤操作:
1)在迁移存储区中选择一个文件夹。
2)选择所有 *.mig 文件列出在 搜索结果 窗口中,而且不在步骤 4a 中选择了迁移文件夹中。
3)在 编辑 菜单上单击 复制。
4)打开文件夹,您选择在步骤 4a 中和在 编辑 菜单上单击 粘贴。
请尝试再次运行 Windows 轻松传送。
如果方法一不能解决问题,请尝试方法二。
方法二: 将迁移存储文件复制到另一个位置
1、用鼠标右键单击桌面上的空白区域,指向 新建,然后再单击 文件夹。
2、迁移 Temp,该文件夹命名为,然后按 Enter 键。
3、单击开始按钮,然后点击“计算机”,打开资源管理器单击。
4、在右上角,搜索计算机 框中键入 *.mig,然后按 ENTER 键。
5、请注意具有如 *.mig、 *.mig01,等 *.mig 扩展名的所有文件的位置。
6、选择具有 *.mig 扩展名和在 搜索结果 窗口中列出的所有文件。
7、在 编辑 菜单上单击 复制。
8、打开迁移 Temp 文件夹,然后在 编辑 菜单上单击 粘贴。
9、运行 Windows 轻松传送,并指向迁移 Temp 文件夹的位置,当您在文件和设置传输到计算机时。
如果方法二不能解决问题,请尝试方法三。
方法三: 检查硬盘错误
使用 Chkdsk 工具来检查磁盘问题。若要这样做,请按照下列步骤操作:
1、单击开始按钮,然后点击“计算机”,打开资源管理器
2、用鼠标右键单击包含迁移的文件的驱动器,然后单击 属性。
3、在 工具 选项卡上单击 立即检查 在 查错 区域。
4、单击选中 自动修复文件系统错误 复选框,然后单击选中 扫描并尝试恢复坏扇区 复选框。
5、单击 开始。
6、如果您收到以下消息,单击 安排磁盘检查,然后重新启动计算机:
Windows 不能检查磁盘,它正在使用中。要安排在下次重新启动计算机时磁盘检查吗?
注意: 根据硬盘量磁盘检查可能需要几分钟的时间。为获得最佳结果并不使用计算机执行任何其他任务在磁盘检查过程中。
白手起家, 积分 41, 距离下一级还需 159 积分
论坛徽章:0
看了楼主的帖子,不由得精神为之一
白手起家, 积分 46, 距离下一级还需 154 积分
论坛徽章:0
好啊楼主,没想到啊,太好了
白手起家, 积分 15, 距离下一级还需 185 积分
论坛徽章:0
大家顶啊,这么好的帖子,楼主辛苦了Java常见问题之javac Hello.java找不到文件的解决方法
转载 & & 作者:马江河
刚开始编写java代码时,肯定会遇到各种各样的bug,当然对于初学者这也是能理解的,下面这篇文章主要给大家介绍了关于Java常见问题之javac Hello.java找不到文件解决的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下。
对于初学者们来说,刚开始编写Java代码时,会遇到很多困难,下面来说一个比较常见的错误,如下:
初学者一般都是从Hello,World开始的学起的,废了好大劲儿,铜鼓了半天,终于要在DOS上运行javac Hello.java时,就会报错:找不到文件
要在如下几个步骤中进行排查:
1、检查环境变量是否配置正确。输出一个javac指令,能输出帮助信息,说明配置信息无误(下图说明环境变量配置,没问题)。
2、环境配置正确,再看一下执行的java文件所在路径是否正确。
3、这个比较容易出现问题。看看Java文件扩展名是否为.java,如果你的系统文件夹选项隐藏了扩展名txt,那你改成的文件或许是Hello.java.txt。
(之前我的是隐藏状态下的,是看不到如下两个文件后缀中的.txt和.java的)
我的电脑是win10系统,找到“隐藏已知文件类型的扩展”的设置方法如下:
此电脑——&文件——&更改文件夹和搜索选项——&查看——&高级设置——&将隐藏已知文件的扩展名,勾选去掉
这时就可以看到自己后缀名是否错误了。
如果不是win10系统,应该是:我的电脑——&工具--&文件夹选项--&查看--&-隐藏已知文件类型的扩展名,勾选去掉。
经过以上排查,我的验证成功了,或许也能帮助到你。
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具}

我要回帖

更多关于 java运行找不到文件 的文章

更多推荐

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

点击添加站长微信