在新建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目录,所以需要根据这个目录重新指定你想要到达的目录。

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

File类中的list和listFiles方法

list()方法是返回某个目录下的所有文件和目录的文件名

IO:使用FileInputStream的简单示例

IO:使用FileInputStream的简单示例: 此程序示范了如何使用FileInputStream来读取文件自身 package net.nyist.io; import java.io.Fi...

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

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

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

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

FileInputStream 相对路径

props.load(new FileInputStream("db.properties")); 是读取当前目录的db.properties文件 getClass.getResourceAsStre...

获取当前类的绝对路径,去掉file:/

pulbic class Test{ public static void main(String[] args){ URL url = Test.class.getResource("");...

FileInputStream读取文件数据的两种方式

FileInputStream(文件字节读取流): read():一个一个字节的读 read(byte[] buf):先把字节存入到缓冲区字节数组中,一下读一个数组(常用) import...

FileInputStream读取properties系统找不到指定的路径

FileInputStream读取properties系统找不到指定的路径 博客分类:  java java properties  import java.io....

解决 struts2上传的excel2007文件,在用poi处理时通过new XSSFWorkbook(inputStream)出错

问题帖子  地址 http://www.iteye.com/problems/55196 以前上传的excel文件是2003版的,现在上传的文件改2007版的excel文件了。 之前处理上传的文...

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

FileInputStream不支持从网络路径获取数据,否则有出问题:如 FileInputStream input = new FileInputStream("http://www.test.c...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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