java中src中的文件路径怎么写

1.java中获取src的路径怎么写在java中获得文件的路径在我们做上传文件操作时是不可避免的 。
web 上运行 1:this.getClass().getClassLoader().getResource("/").getPath(); this.getClass().getClassLoader().getResource("").getPath(); 得到的是 ClassPath的绝对URI路径 。如:/D:/jboss-4.2.2.GA/server/default/deploy/hp.war/WEB-INF/classes/System.getProperty("user.dir");this.getClass().getClassLoader().getResource(".").getPath(); 得到的是 项目的绝对路径 。
如:/D:/jboss-4.2.2.GA/server/default/deploy/hp.war2:this.getClass().getResource("/").getPath(); this.getClass().getResource("").getPath(); 得到的是当前类 文件的URI目录 。如:/D:/jboss-4.2.2.GA/server/default/deploy/hp.war/WEB-INF/classes/com/jebel/helper/this.getClass().getResource(".").getPath(); X 不 能运行3:Thread.currentThread().getContextClassLoader().getResource("/").getPath()Thread.currentThread().getContextClassLoader().getResource("").getPath() 得到的是 ClassPath的绝对URI路径 。
如:/D:/jboss-4.2.2.GA/server/default/deploy/hp.war/WEB-INF/classes/Thread.currentThread().getContextClassLoader().getResource(".").getPath() 得到的是 项目的绝对路径 。如:/D:/jboss-4.2.2.GA/server/default/deploy/hp.war在本地运行中1:this.getClass().getClassLoader().getResource("").getPath(); this.getClass().getClassLoader().getResource(".").getPath(); 得到的是 ClassPath的绝对URI路径 。
如:/D:/myProjects/hp/WebRoot/WEB-INF/classesthis.getClass().getClassLoader().getResource(".").getPath(); X 不 能运行2:this.getClass().getResource("").getPath(); this.getClass().getResource(".").getPath(); 得到的是当前类 文件的URI目录 。如:/D:/myProjects/hp/WebRoot/WEB-INF/classes/com/jebel/helper//D:/myProjects/hp/WebRoot/WEB-INF/classes/ 得到的是 ClassPath的绝对URI路径 。
如:/D:/myProjects/hp/WebRoot/WEB-INF/classes3:Thread.currentThread().getContextClassLoader().getResource(".").getPath()Thread.currentThread().getContextClassLoader().getResource("").getPath() 得到的是 ClassPath的绝对URI路径 。
如:/D:/myProjects/hp/WebRoot/WEB-INF/classesThread.currentThread().getContextClassLoader().getResource("/").getPath() X 不 能运行最后在Web应用程序中,我们一般通过ServletContext.getRealPath("/")方法得到Web应用程序的根目录的绝对路径 。还有request.getContextPath(); 在Weblogic中要用request.getServletContext().getContextPath();但如果打包成war部署到Weblogic服务器,项目内部并没有文件结构的概念,用这种方式是始终得到null,获取不到路径,目前还没有找到具体的解决方案 。
2.java里文件路径怎么写File file = new File("D:\\123.txt");
你这种不用绝对路径是不行的,
只有一个方法,在web工程启动servlet中获取到webroot路径,在servlet的init中使用String webRoot = getServletContext().getRealPath("/");获取,然后使用这webRoot变量追加路径,再new File(),这样的话要求就是,你的服务必须要启动,否则不会init,无法得到工程发布目录的相对路径
3.Java:一个xml文件和src同级,应该如何写路径呢如果是用myeclipse的话(其它没试过),new File(".").getAbsolutePath(),你会发现它就是你的工程目录,src,xml都在这个目录下,那么xml自然就是 new File(xmlName)了 。不过你做好的java程序肯定不能指望人家也用myeclipse来运行 。。,所以给出两个建义,
一 。你仍然是new File(xmlName)来用这个xml,但是等你发布做好的程序时,比如打成jar包,新个文件夹,比如test,把jar包和xml都放在里面(即改成xml和jar包同级),这时你在test下执行jar包后,new File(xmlName)仍然是这个xml
二 。把xml放到src目录下,这时你获取这个xml的输入流就得这么搞(Test类在哪个包无所谓)
InputStream input = Test.class.getClassLoader().getResourceAsStream("test.xml");