A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 会飞的狼 中级黑马   /  2013-8-13 21:37  /  1150 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

InputStream ips = ReflectText.class.getResourceAsStream("/com/itheima/resource/config.properties");//看了视频张老师是这么写的,怎么只用一个/就可以了以前不是两个\\分割目录吗?

评分

参与人数 1技术分 +1 收起 理由
特殊服务 + 1

查看全部评分

2 个回复

正序浏览
"/"与"\"还有"\\"  在不同的系统中都可以用作文件路径分隔符
/ : 是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目录下)  


评分

参与人数 1技术分 +1 收起 理由
夜默 + 1

查看全部评分

回复 使用道具 举报
这2个都可以用做分割文件,区别就是/是跨平台的,任何系统都可以用,而\\不是跨平台的,在有些系统中不能被识别
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马