黑马程序员技术交流社区
标题:
关于目录的写法
[打印本页]
作者:
会飞的狼
时间:
2013-8-13 21:37
标题:
关于目录的写法
InputStream ips = ReflectText.class.getResourceAsStream("/com/itheima/resource/config.properties");//看了视频张老师是这么写的,怎么只用一个/就可以了以前不是两个\\分割目录吗?
作者:
吃阁子的猫
时间:
2013-8-15 16:11
这2个都可以用做分割文件,区别就是/是跨平台的,任何系统都可以用,而\\不是跨平台的,在有些系统中不能被识别
作者:
sunriselzz
时间:
2013-8-15 16:32
"/"与"\"还有"\\" 在不同的系统中都可以用作文件路径分隔符
/ : 是unix,或者linux系统下得文件路径表示 \:是windox系统下得
\\: 这个在window下,用在java中相当于 \\==/ \\代表 \代表转义字符
标准的用法是 '/ ', 在具体的FileSystem上,会把这个符号替换成本地的separator,
而直接写 '\ '只可能用在windows系统下
File.separator: String "/ "(unix) or "\ "(windows)
File.separatorChar : 同上 char '/ ', '\ '
File.pathSeparator : String, 一系列path之间的分隔符, ": "unix "; "windows
File.pathSeparatorChar
还有 . 和 ..
. 代表当前目录 .. 代表当前目录的上级目录
举例:
在F:/A/B/C下
那么 ../C就是 F:/A/B
那么 ../B就是 F:/A
./C或者C就是 F:/A/B/C
/C 是指 F:/C
平时写程序的时候,很多时候提示文件找不到,而抛出了异常,现在整理如下
一 相对路径的获得
说明:相对路径(即不写明时候到底相对谁)均可通过以下方式获得
(不论是一般的java项目还是web项目)
String relativelyPath=System.getProperty("user.dir");
上述相对路径中,java项目中的文件是相对于项目的根目录
web项目中的文件路径视不同的web服务器不同而不同(tomcat是相对于 tomcat安装目录\bin)
二 类加载目录的获得(即当运行时某一类时获得其装载目录)
1.1)通用的方法一(不论是一般的java项目还是web项目,先定位到能看到包路径的第一级目录)
InputStream is=TestAction.class.getClassLoader().getResourceAsStream("test.txt");
(test.txt文件的路径为 项目名\src\test.txt;类TestAction所在包的第一级目录位于src目录下)
上式中将TestAction,test.txt替换成对应成相应的类名和文件名字即可
1.2)通用方法二 (此方法和1.1中的方法类似,不同的是此方法必须以'/'开头)
InputStream is=Test1.class.getResourceAsStream("/test.txt");
(test.txt文件的路径为 项目名\src\test.txt,类Test1所在包的第一级目录位于src目录下)
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2