java目錄路徑
❶ java路徑怎麼設置
java路徑設置步驟如下:
1.右擊我的電腦—>屬性—>高級—>環境變數—>系統變數 ,如圖:
java_home 的路徑 如C:j2sdk1.4.2_01;
在path中添加 java的bin路徑 如C:j2sdk1.4.2_01in;
新建classpath 中添加.;libdt.jar;lib ools.jar;
如 .;C:j2sdk1.4.2_01libdt.jar;C:j2sdk1.4.2_01lib ools.jar;
❷ 如何獲得當前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 file = new File("D:\\123.txt");
你這種不用絕對路徑是不行的,
只有一個方法,在web工程啟動servlet中獲取到webroot路徑,在servlet的init中使用String webRoot = getServletContext().getRealPath("/");獲取,然後使用這webRoot變數追加路徑,再new File(),這樣的話要求就是,你的服務必須要啟動,否則不會init,無法得到工程發布目錄的相對路徑
❹ 通過java獲取當前項目路徑
getClass().getResource() 方法獲得相對路徑( 此方法在jar包中無效。返回的內容最後包含/)
例如 項目在/D:/workspace/MainStream/Test
在javaProject中,getClass().getResource("/").getFile().toString() 返回:/D:/workspace/MainStream/Test/bin/
publicStringgetCurrentPath(){
//取得根目錄路徑
StringrootPath=getClass().getResource("/").getFile().toString();
//當前目錄路徑
StringcurrentPath1=getClass().getResource(".").getFile().toString();
StringcurrentPath2=getClass().getResource("").getFile().toString();
//當前目錄的上級目錄路徑
StringparentPath=getClass().getResource("../").getFile().toString();
returnrootPath;
}
❺ JAVA中絕對路徑和目錄有什麼區別
你說來的絕對路徑和目錄是源兩個不同類型的詞..
絕對路徑是path,表示一個文件從根目錄(盤符)開始到該文件的整個路徑,如:D:\application\eclipse\eclipse.exe
(與之相對的是相對路徑,及從當前目錄開始到達文件的路徑,如:eclipse\eclipse.exe)
目錄是place,表示一個文件夾,如:application和eclipse都是目錄.
(與之相對的是文件,如:eclipse.exe)
❻ java項目根目錄和類路徑問題
java獲取src目錄下文件夾來的源相對路徑問題如下:
目錄結構:
project
out
src
read.java
test.txt
files
opts
項目為priject
out目錄為.class輸出目錄
src下為文件目錄
src下有兩個包,files、opts
想通過相對路徑獲取test.txt的路徑
但是用反射只能獲取到.class,也就是out里的路徑
輸出後的目錄不就是在out裡面了,那個裡面的和src裡面的文件是一樣的, getClass().getResource()就可以得到classpath了啊
看看設置的資源文件編譯路徑
❼ java 文件路徑
File dir = new File("e:\\text");
dir.mkdirs();
File file = new File(dir, "file1.txt");
file.createNewFile();
System.out.println(file.getPath());
輸出:e:\text\file1.txt
❽ 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文件的路徑為 項目名src est.txt;類TestPath所在包的第一級目錄位於src目錄下)
三 web項目根目錄的獲得(發布之後)
1 從servlet出發
可建立一個servlet在其的init方法中寫入如下語句(沒有請求的話會拋空指針導常)
ServletContext s1=this.getServletContext();
String temp=s1.getRealPath("/"); (關鍵)
結果形如:F: omcat-6.0.36webapps est(test為項目名字)
如果是調用了s1.getRealPath("")則輸出F: omcat-6.0.36webapps est(少了一個"")
2 從httpServletRequest出發(沒有請求的話會拋空指針導常)
String path=request.getSession().getServletContext().getRealPath("/");
結果形如:F: omcat-6.0.36webapps est
四 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,「 / 」代表了myproject
me.class.getResourceAsStream("/com/x/file/myfile.xml");
第二:前面沒有 「 / 」
代表當前類的目錄
me.class.getResourceAsStream("myfile.xml");
me.class.getResourceAsStream("file/myfile.xml");
❾ java中如何獲得運行中的.class文件的存放目錄的絕對路徑
類名.class.getResource("");
java.lang.Class.getResource()查找給定名字的資源
importjava.net.URL;importjava.lang.*;publicclassClassDemo{
publicstaticvoidmain(String[]args)throwsException{
ClassDemoc=newClassDemo();
Classcls=c.getClass();
//
URLurl=cls.getResource("file.txt");
System.out.println("Value="+url);
//
url=cls.getResource("newfolder/a.txt");
System.out.println("Value="+url);
}}
結果:
Value=file:/C:/Program%20Files/Java/jdk1.6.0_06/bin/file.txt
Value=null
❿ java文件路徑問題
假如你的工程根目錄為:test
你的圖片文件放在:test/src/images/a.gif
所以正確的調用是:
ImageIcon icon = new ImageIcon("src/images/a.gif");
這行代碼執行時在test目錄下查找到了文件,當然也可以寫成
ImageIcon icon = new ImageIcon("./src/images/a.gif");
注意兩者的區別,要記住的是src是在test下的目錄
總結:所謂相對路徑就是相對於工程根目錄的位置
打包的話,最好用類進行定位(jar包里的類獲取路徑)
System.out.println(MyMenu.class.getResource("/")); //MyMenu換成你自己的類
輸出下看看
拼接你的圖片相對地址