getrealpath参数(java怎么读取web工程里面的文件)

本文目录
- java怎么读取web工程里面的文件
- jsp中怎么利用java需要将在oracle数据库中存在的pdf,doc等文件下载下来最好有代码
- config.getServletContext().getRealPath()这个函数中的参数应该怎么添 是什么意思
- tomcat当前的绝对路径
java怎么读取web工程里面的文件
平时写程序的时候,很多时候提示文件找不到,而抛出了异常,现在整理如下
一 相对路径的获得
说明:相对路径(即不写明时候到底相对谁)均可通过以下方式获得(不论是一般的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目录下)
三 web项目根目录的获得(发布之后)
1 从servlet出发
可建立一个servlet在其的init方法中写入如下语句
ServletContext s1=this.getServletContext();
String temp=s1.getRealPath("/"); (关键)
结果形如:D:\工具\Tomcat-6.0\webapps\002_ext\ (002_ext为项目名字)
如果是调用了s1.getRealPath("")则输出D:\工具\Tomcat-6.0\webapps\002_ext(少了一个"\")
***隐藏网址***
String cp11111=request.getSession().getServletContext().getRealPath("/");
结果形如:D:\工具\Tomcat-6.0\webapps\002_ext\
四 classpath的获取(在Eclipse中为获得src或者classes目录的路径)
方法一 Thread.currentThread().getContextClassLoader().getResource("").getPath()
eg: String t=Thread.currentThread().getContextClassLoader().getResource("").getPath();
System.out.println("t---"+t);
输出:t---/E:/order/002_ext/WebRoot/WEB-INF/classes/
方法二 JdomParse.class.getClassLoader().getResource("").getPath() (JdomParse为src某一个包中的类,下同)
jsp中怎么利用java需要将在oracle数据库中存在的pdf,doc等文件下载下来最好有代码
首先你要明确一个概念,数据库中是不可能存这些文件的,存的最多是这些文件对应的地址,是String类型的数据。
在这基础上来看这些代码。注意标注的1234:
//获取网站部署路径(通过ServletContext对象),用于确定下载文件位置,从而实现下载
String path = servletContext.getRealPath("/");
//1.设置文件ContentType类型,这样设置,会自动判断下载文件类型
response.setContentType("multipart/form-data");
//2.设置文件头:最后一个参数是设置下载文件名(假如我们叫a.pdf)
response.setHeader("Content-Disposition", "attachment;fileName="+"a.pdf");
ServletOutputStream out;
//通过文件路径获得File对象(假如此路径中有一个download.pdf文件)
File file = new File(path + "download/" + "download.pdf");
try {
FileInputStream inputStream = new FileInputStream(file);
//3.通过response获取ServletOutputStream对象(out)
out = response.getOutputStream();
int b = 0;
byte;
while (b != -1){
b = inputStream.read(buffer);
//4.写到输出流(out)中
out.write(buffer,0,b);
}
inputStream.close();
out.close();
out.flush();
} catch (IOException e) {
e.printStackTrace();
}
config.getServletContext().getRealPath()这个函数中的参数应该怎么添 是什么意思
String path = config.getServletContext().getRealPath("/");
通过jsp响应之后得到的path是,自己的项目地址;
D:\02_workstation\eclipse-jee-juno-SR1-win32-x86_64\eclipse\workspace\rvs\WebContent\
tomcat当前的绝对路径
//获取到ServletContext就可以了
ServletContext context=ServletActionContext.getServletContext();
String path=context.getRealPath("/");
int pos=path.lastIndexOf("\\", path.length()-2);
pos=path.lastIndexOf("\\", pos-1);
path=path.substring(0, pos+1);
System.out.println(path);

更多文章:
getrealpath参数(java怎么读取web工程里面的文件)
2026年10月14日 14:40
makefile文件怎么用(怎么打开使用makefile文件不是语法的依赖关系!!)
2026年10月14日 13:00
socket编程中(Socket 编程中 close() 和 shutdown() 有什么区别)
2026年10月14日 08:20
用jsp做一个登录网页(JSP作业,求大神写代码!编制一个简单的登录界面)
2026年10月14日 06:50
change directory(change directory是什么意思)
2026年10月14日 04:20
javascript基础教程第9版(js鼠标悬停显示文字实例)
2026年10月14日 03:50
excel中index函数的用法(EXCEL工作簿中多个工作表如何应用函数INDEX)
2026年10月14日 01:40




