在新建FileInputStream时使用当前相对路径或者绝对路径作为参数的问题

原创 2012年03月28日 20:56:07

       今天在写手机与PC的webservice(用axis2实现的)传输图片的程序,服务端是一个类,编译后直接部署在axis的pojo文件夹里,当我new一个FileInputStream时,想使用相对路径这样无论我的服务端部署到哪里,都可以一直用一个文件夹而不必修改程序的路径代码,当然首先我用的绝对路径来做实验,保证能够成功通信,使用绝对路径时要注意路径的分隔符可以用“/”或者“\\”,而这也可以混用,如下:

FileInputStream fis=new FileInputStream("D:/images/"+id+".jpg");
或者
FileInputStream fis=new FileInputStream("D:\\images\\"+id+".jpg");
都行。
甚至可以/与\\混合使用。

然后我想用相对路径了,但是当我将images这个文件夹与我的.class文件(即要执行的webservice)放在同一个目录里时,发现运行失败了,提示找不到这个文件夹,代码如下:

FileInputStream fis=new FileInputStream("images/"+id+".jpg");

然后我就用System.out.println(new File(".").getAbsolutePath());打印了一下当前目录

结果是tomcat的bin目录,而并不是tomcat里所部属的webservice目录,遂修改如下:
FileInputStream fis=new FileInputStream("../webapps\\axis2\\WEB-INF/pojo/images/"+id+".jpg");

注意:../表示当前目录的上一级目录。

所以说,当作为webservice部署到tomcat里时,若想使用当前目录,最好先使用System.out.println(new File(".").getAbsolutePath());查看一下当前目录是什么,因为他不一定是你的.class文件存放的目录,通常是

tomcat的bin目录,所以需要根据这个目录重新指定你想要到达的目录。

 

FileInputStream 相对路径正确识别

文章来源: http://blog.csdn.net/diquren/article/details/49000547 props.load(new FileInputStream("...
  • buster2014
  • buster2014
  • 2016年12月21日 17:00
  • 1501

JAVA中常用IO流类:FileInputStream和FileOutputStream

FileInputStream 用于读取本地文件中的字节数据,继承自InputStream类 构造方法摘要 FileInputStream(File file)     ...
  • caixiexin
  • caixiexin
  • 2011年08月25日 18:33
  • 99697

在新建FileInputStream时使用当前相对路径或者绝对路径作为参数的问题

当new一个FileInputStream时,想使用相对路径这样无论我的服务端部署到哪里,都可以一直用一个文件夹而不必修改程序的路径代码,当然首先我用的绝对路径来做实验,保证能够成功通信,使用绝对路径...
  • myinc
  • myinc
  • 2013年12月05日 17:05
  • 4328

IO:使用FileInputStream的简单示例

IO:使用FileInputStream的简单示例: 此程序示范了如何使用FileInputStream来读取文件自身 package net.nyist.io; import java.io.Fi...
  • ma451152002
  • ma451152002
  • 2013年09月09日 19:22
  • 24004

FileInputStream 相对路径

props.load(new FileInputStream("db.properties")); 是读取当前目录的db.properties文件 getClass.getResourceAsStre...
  • diquren
  • diquren
  • 2015年10月09日 15:18
  • 3590

java(Web)中相对路径,绝对路径问题总结

    java中相对路径,绝对路径问题总结               ————bohemia(城)前言: 前一段时间,由于在处理Web应用下的文件创建与移动等,因此涉及到很多关于java中相对路径...
  • bohemia
  • bohemia
  • 2006年05月01日 14:50
  • 53996

java io的相对路径和绝对路径

java io的相对路径和绝对路径 简单的说,在使用inputstream读取文件的时候,所谓的相对路径是相对于工程目录的,绝对路径当然是对于盘符根目录来说。 例如:   ...
  • evilcry2012
  • evilcry2012
  • 2016年06月07日 11:07
  • 2806

FileInputStream不支持从网络路径获取数据

FileInputStream不支持从网络路径获取数据,否则有出问题:如 FileInputStream input = new FileInputStream("http://www.test.c...
  • worker_1983
  • worker_1983
  • 2016年03月15日 16:09
  • 952

javaweb项目中对于资源文件的读取

分成普通java类和servlet类 两种情况考虑读取资源文件 要点说明:     1:在javaweb项目中所有src下的资源在部署后都会被弄到WEB-INF/classes/下     2:...
  • WJL_MGQS
  • WJL_MGQS
  • 2012年05月10日 18:08
  • 22487

JAVA中输入输出流的总结——FileInputStream、FileOuputStream、BufferedInputStream等

我们都知道在电脑上对数据的存储有三种方式,一种是外存,一种是内存,一种是缓存。比如电脑上的硬盘,磁盘,U盘等都是外存,在电脑上有内存条,缓存是在CPU里面的。外存的存储量最大,其次是内存,最后是缓存,...
  • u014049880
  • u014049880
  • 2014年08月31日 19:05
  • 1993
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:在新建FileInputStream时使用当前相对路径或者绝对路径作为参数的问题
举报原因:
原因补充:

(最多只允许输入30个字)