首页 > 其他分享 >在新建FileInputStream时使用当前相对路径或者绝对路径作为参数的问题

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

时间:2022-11-20 20:33:49浏览次数:54  
标签:fis jpg 绝对路径 相对路径 new images FileInputStream 目录



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


标签:fis,jpg,绝对路径,相对路径,new,images,FileInputStream,目录
From: https://blog.51cto.com/yuzhyn/5871954

相关文章