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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 余志强 黑马帝   /  2011-9-30 19:32  /  1616 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

我们都知道java是跨品台的一门语言
在学习IO的过程中 有如下代码:
InputStream is = new FileInputStream("D:\\imagetest\\desk.jpg");
                OutputStream os = new FileOutputStream("E:\\desk1.jpg");
                byte[] buffer = new byte[1024];
                int readNum = 0;
                while((readNum=is.read(buffer))!=-1){
                        os.write(buffer, 0, readNum);
                }
                os.close();
                is.close();

上面的文件路径用了两个\\,这是在windows平台下,如果把这个程序,移植到Linux系统下,这个路径就会报错,那么应该怎么解决这个问题呢?高手赐教!

2 个回复

倒序浏览
黑马网友  发表于 2011-9-30 20:19:58
沙发

路径分割符号问题,不同的操作系统不同

路径分割符号问题,不同的操作系统不同。在程序中不要硬性编码与平台相关的任何常量,比如行分隔符,文件分隔符,路径分隔符等等,这些常量在不同的平台上是不同的,比如文件分隔符,在UNIX和MAC中是“/”,在windows中是“\”,如果要使用这些常量,需要使用jdava.util.Properties类的getProperty方法,如java.util.Properties.getProperty(“file.separator”)可以获得文件分隔符,getProperty (“line.separator”)返回行分隔符,getProperty(“path.separator”)返回路径分隔符

评分

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

查看全部评分

回复 使用道具 举报
黑马网友  发表于 2011-9-30 21:18:53
藤椅
System.getProperty("file.separator")的作用:
获取路径分隔符,windows系统下为"\",linux系统下为"/"。
windows与linux系统不同的文件分隔符的获取方式:直接使用System.getProperty("file.separator"),通过这种方式,就可以兼容windows系统和linux系统了。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马