java加载java文件路径|java中文件读取的时候要被读取的文件应该放哪

java加载java文件路径|java中文件读取的时候要被读取的文件应该放哪的第1张示图

❶ java项目中文件的路径

java项目中文件的路径-方法大全

一、 相对路径的获得

说明:相对路径(即不写明时候到底相对谁)均可通过以下方式获得(不论是一般的java项目还是web项目)

System.getProperty("user.dir");

上述相对路径中,java项目中的文件是相对于项目的根目录web项目中的文件路径视不同的web服务器不同而不同(tomcat是相对于tomcat安装目录in)二 类加载目录的获得(即当运行时某一类时获得其装载目录)1.1)通用的方法一(不论是一般的java项目还是web项目,先定位到能看到包路径的第一级目录)InputStreamis=TestAction.class.getClassLoader().getResourceAsStream("test.txt");(test.txt文件的路径为 项目名srcest.txt;类TestPath所在包的第一级目录位于src目录下)

三 web项目根目录的获得(发布之后)1 从servlet出发

可建立一个servlet在其的init方法中写入如下语句(没有请求的话会抛空指针导常)

ServletContext s1=this.getServletContext();String temp=s1.getRealPath("/"); (关键)结果形如:F:omcat-6.0.36webappsest(test为项目名字)

如果是调用了s1.getRealPath("")则输出F:omcat-6.0.36webappsest(少了一个"")

2 从httpServletRequest出发(没有请求的话会抛空指针导常)

String path=request.getSession().getServletContext().getRealPath("/");

结果形如:F:omcat-6.0.36webappsest

四 classpath的获取(在Eclipse中为获得src或者classes目录的路径),放在监听器,可以窗口启动获取路径

方法一Thread.currentThread().getContextClassLoader().getResource("").getPath()

String path = Thread.currentThread().getContextClassLoader()

.getResource("").getPath();

System.out.println("path========"+ path);输出:path========/F:/tomcat-6.0.36/webapps/test/WEB-INF/classes/

方法二JdomParse.class.getClassLoader().getResource("").getPath()(JdomParse为src某一个包中的类,下同)

eg:String p1=JdomParse.class.getClassLoader().getResource("").getPath();System.out.println("JdomParse.class.getClassLoader().getResource–"+p1);

输出:JdomParse.class.getClassLoader().getResource-/F:/tomcat-6.0.36/webapps/test/WEB-INF/classes/

另外,如果想把文件放在某一包中,则可以 通过以下方式获得到文件(先定位到该包的最后一级目录)

eg String p2=JdomParse.class.getResource("").getPath();System.out.println("JdomParse.class.getResource—"+p2);

输出:JdomParse.class.getResource–/F:/tomcat-6.0.36/webapps/test/WEB-INF/classes/

(JdomParse为src目录下jdom包中的类)

四 属性文件的读取:

方法 一

InputStream in = lnewBufferedInputStream(newFileInputStream(name));

Properties p =newProperties();p.load(in);

注意路径的问题,做执行之后就可以调用p.getProperty("name")得到对应属性的值

方法二

Locale locale =Locale.getDefault();ResourceBundle localResource = ResourceBundle.getBundle("test/propertiesTest",locale);String value = localResource.getString("test");System.out.println("ResourceBundle: " + value);

工程src目录下propertiesTest.properties(名字后缀必须为properties)文件内容如下:

test=hello word

不通过Servlet获取路径

第一种实现

Java代码

URL url = ClassLoader.getSystemClassLoader().getResource("./");

File file =newFile(url.getPath());

File parentFile =newFile(file.getParent());

System.out.println("webRoot:"+parentFile.getParent());第二种实现首先写一个接听类 (推荐使用,容器启动时就执行,不会抛空指针异常,适合做定时器任务来删除服务器文件的路径)

Java代码:

package com.chinacreator.report.listener;

import javax.servlet.ServletContext;

import javax.servlet.ServletContextEvent;

import javax.servlet.ServletContextListener;

/**

* @authorxiaoqun.yi

*/

public class PathListener {

private staticServletContext servletContext;

public voidcontextDestroyed(ServletContextEvent sce) {

this.servletContext= sce.getServletContext();

System.out.println("path=======:"+servletContext.getRealPath("/"));

}

public voidcontextInitialized(ServletContextEvent arg0) {

}

}

在web.xml中加入如下配置

Java代码 :

<listener>

<listener-class>com.chinacreator.report.listener.PathListener</listener-class>

</listener>

五、Java中的getResourceAsStream有以下几种:1. Class.getResourceAsStream(String path) : path 不以’/'开头时默认是从此类所在的包下取资源,以’/'开头则是从ClassPath根下获取。其只是通过path构造一个绝对路径,最终还是由 ClassLoader(类加载器)(获取资源)2. Class.getClassLoader.getResourceAsStream(String path) :默认则是从ClassPath根下获取,path不能以’/'开头,最终是由ClassLoader获取资源。3. ServletContext. getResourceAsStream(String path):默认从WebAPP根目录下取资源,Tomcat下path是否以’/'开头无所谓,当然这和具体的容器实现有关。4. jsp下的application内置对象就是上面的ServletContext的一种实现。其次,getResourceAsStream 用法大致有以下几种:第一: 要加载的文件和.class文件在同一目录下,例如:com.x.y 下有类me.class ,同时有资源文件myfile.xml那么,应该有如下代码:me.class.getResourceAsStream("myfile.xml");第二:在me.class目录的子目录下,例如:com.x.y 下有类me.class ,同时在 com.x.y.file 目录下有资源文件myfile.xml那么,应该有如下代码:me.class.getResourceAsStream("file/myfile.xml");第三:不在me.class目录下,也不在子目录下,例如:com.x.y 下有类me.class ,同时在 com.x.file 目录下有资源文件myfile.xml那么,应该有如下代码:me.class.getResourceAsStream("/com/x/file/myfile.xml");总结一下,可能只是两种写法第一:前面有 “ / ”“ / ”代表了工程的根目录,例如工程名叫做myproject,“ / ”代表了myprojectme.class.getResourceAsStream("/com/x/file/myfile.xml");第二:前面没有 “ / ”代表当前类的目录me.class.getResourceAsStream("myfile.xml");me.class.getResourceAsStream("file/myfile.xml");

❷ java程序读取资源文件时路径如何指定

(1)、request.getRealPath("/");//不推荐使用获取工程的根路径 (2)、request.getRealPath(request.getRequestURI());//获取jsp的路径,这个方法比较好用,可以直接在servlet和jsp中使用 (3)、request.getSession().getServletContext().getRealPath("/");//获取工程的根路径,这个方法比较好用,可以直接在servlet和jsp中使用 (4)、 this.getClass().getClassLoader().getResource("").getPath();//获取工程classes 下的路径,这个方法可以在任意jsp,servlet,java文件中使用,因为不管是jsp,servlet其实都是java程序,都是一个 class。所以它应该是一个通用的方法。0、关于绝对路径和相对路径1.基本概念的理解绝对路径:绝对路径就是你的主页上的文件或目录在硬盘上真正的路径,(URL和物理路径)例 如:C:xyz est.txt 代表了test.txt文件的绝对路径。http://www.sun.com/index.htm也代表了一个URL绝对路径。相对路径:相对与某个基 准目录的路径。包含Web的相对路径(HTML中的相对目录),例如:在Servlet中,"/"代表Web应用的跟目录。和物理路径的相对表示。例 如:"./" 代表当前目录,"../"代表上级目录。这种类似的表示,也是属于相对路径。另外关于URI,URL,URN等内容,请参考RFC相关文档标准。RFC 2396: Uniform Resource Identifiers (URI): Generic Syntax,(http://www.ietf.org/rfc/rfc2396.txt)2.关于JSP/Servlet中的相对路径和绝对路径。 2.1服务器端的地址服务器端的相对地址指的是相对于你的web应用的地址,这个地址是在服务器端解析的(不同于html和javascript中的相对 地址,他们是由客户端浏览器解析的)1、request.getRealPath方法:request.getRealPath("/") 得到的路径:C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\strutsTest\方法:request.getRealPath(".") 得到的路径:C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\strutsTest\.方法:request.getRealPath("") 得到的路径:C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\strutsTestrequest.getRealPath("web.xml") C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\strutsTest\web.xml2、request.getParameter("");ActionForm.getMyFile();方法:String filepath = request.getParameter("myFile"); 得到的路径:D:\VSS安装目录\users.txt方法:String filepath = ActionForm.getMyFile(); 得到的路径:D:\VSS安装目录\users.txt————————————————– strutsTest 为工程名myFile 在ActionForm中,为private String myFile; 在jsp页面中:为<html:file property="myFile"></html:file>

❸ java/Eclipse文件加载路径问题,跪求指点!

本来放在哪合适的话,你在工程目录下就可以了,如果你有ide把他放进resources里面最好,当然在getResource时也要相应写上正确路径“resources/xxx.wav”喽1.最好不要用中文名字的音频2.也有可能是音频格式的原因,忘记支持什么格式了。。但是编译能通过的话,又不像是这个问题

❹ java文件读写的文件应该放哪个路径

路径可以随意指定的,没有固定的目录要求。是根据你的实际需求还设计。

❺ java中类加载路径和项目根路径获取有几种方式

packagemy;importjava.io.File;importjava.io.IOException;importjava.net.URL;publicclassMyUrlDemo{publicstaticvoidmain(String[]args){MyUrlDemomuDemo=newMyUrlDemo();try{muDemo.showURL();}catch(IOExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}}

❻ java读取文件路径问题

如果你使用的是eclipse,请检查编译是否禁止了非.class文件的编译输出,如果这项没有问题。那么 src/META-INF/*.* 文件自动输出到 /WEB-INF/classes/META-INF/*.*。也就是说,最终资源文件在 WEB-INF/classes/META-INF/weibo.xml

使用JAVA 类获取路径:

Filef=newFile(getClass().getResource("/META-INF/weibo.xml").getPath());

获取InputStream:

InputStreaminput=getClass().getResourceAsStream("/META-INF/weibo.xml");

另外,JAVA项目的标准协定(习惯)中的源代码目录结构是:

src|–main||–javaJAVA文件||–resources资源文件|–test|–javaTESTJAVA文件|–resourcesTEST资源文件

输出的目录结构是:

target|–classesmain/java,main/resource输出目录|–test-classestest/java,test/resources输出目录

❼ java中获取文件路径的几种方式

File的getPath方法得到相对路径 getAbsolutePath方法得到绝对路径举个例子String fileName = "yourfile.txt";File aFile = new File(fileName);//这里可以把路径拼在fileName前面 可以用相对路径 也可以用绝对 注意分隔符System.out.println(aFile.getPath()); //相对路径System.out.println(aFile.getAbsolutePath()); //绝对路径具体的东西在这里 http://teamojiao.iteye.com/blog/446615

❽ java中文件读取的时候,要被读取的文件应该放哪

被读取的文件可以放在硬盘的任意位置。 只要你新建文件IO流对象的时候把文件的物理路径写对就行了。代码例子如下:

importjava.io.BufferedReader;importjava.io.FileInputStream;importjava.io.IOException;importjava.io.InputStreamReader;/***fileIO流读取并输出文件*@authoryoung**/publicclassFileIO{publicstaticvoidmain(String[]args)throwsIOException{FileInputStreamfis=newFileInputStream("F:/workspace/one/src/filecode/FileIO.java");//要读的文件路径InputStreamReaderisr=newInputStreamReader(fis);//字符流BufferedReaderbr=newBufferedReader(isr);//缓冲Stringline=null;while((line=br.readLine())!=null){//字符不等于空System.out.println(line);//一行一行地输出}br.close();//关闭文件}}

❾ 如何获得当前Java文件的路径

public class Test { public static void main(String[] args) { String path = "Test.java"; File file = new File(path); System.out.println(file.getAbsoluteFile()); }} —–运行结果:D:\workspaces\studyStruts2\Test.java不加任何路径,就是指当版前路径望采纳权

❿ 如何查看java读取文件的路径

File类有两个常用方法可以得到文件路径一个是:getCanonicalPath(),另一个是:getAbsolutePath(),可以通过File类的实例调用这两个方法例如.getAbsolutePath()其中file是File的实例对象。下面是一个具体例子:123456789101112131415public class PathTest{public static void main(String[] args){File file = new File(".\\src\\");System.out.println(file.getAbsolutePath());try{System.out.println(file.getCanonicalPath());} catch (IOException e){e.printStackTrace();}}}getAbsolutePath()和getCanonicalPath()的不同之处在于,getCanonicalPath()得到的是一个规范的路径,而getAbsolutePath()是用构造File对象的路径+当前工作目录。例如在上面的例子中.(点号)代表当前目录。getCanonicalPath()就会把它解析为当前目录但是getAbsolutePath()会把它解析成为目录名字(目录名字是点号)。下面是上面程序在我电脑上的输出:G:\xhuoj\konw\.\src\G:\xhuoj\konw\src\

未经允许不得转载:山九号 » java加载java文件路径|java中文件读取的时候要被读取的文件应该放哪

赞 (0)