file路徑java
A. java讀取文件路徑問題
在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.war
2:
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/classes
this.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/classes
3:
Thread.currentThread().getContextClassLoader().getResource(".").getPath()
Thread.currentThread().getContextClassLoader().getResource("").getPath() 得到的是 ClassPath的絕對URI路徑。。
如:/D:/myProjects/hp/WebRoot/WEB-INF/classes
Thread.currentThread().getContextClassLoader().getResource("/").getPath() X 不 能運行
最後
在Web應用程序中,我們一般通過ServletContext.getRealPath("/")方法得到Web應用程序的根目錄的絕對路徑。
還有request.getContextPath(); 在Weblogic中要用request.getServletContext().getContextPath();但如果打包成war部署到Weblogic伺服器,項目內部並沒有文件結構的概念,用這種方式是始終得到null,獲取不到路徑,目前還沒有找到具體的解決方案。
B. java文件路徑問題
/**
*關於文件的讀寫,總是會出現(系統找不到指定的文件。)
*@authorJr
*
*/
publicclassIOClass{
publicstaticvoidmain(String[]args)throwsIOException{
Filein=newFile("d:\System32\input.in");
Scanners=newScanner(in);
inta=s.nextInt();
System.out.println(a);
intb=s.nextInt();
System.out.println(b);
Filefout=newFile("d:\System32\output.out"); //newFile,怎麼說呢,應該說只是在內存中new了一個,還並沒有寫到硬碟上去呢
fout.createNewFile(); //你的系統找不到指定文件,是不是因為你沒有創建這個文件
PrintWriterout=newPrintWriter(fout);
out.println(a+b);
in.delete();
out.close();
}
}
C. java讀取文件路徑
你的頭是e://tttt11.PNG不是e://tttt11//1.PNG???
如果頭是e://tttt11//1.PNG,filepath沒有用,去掉。
這段這么改:
for (i=0; i <= str.length(); i += 2) {
if (i == str.length() - 1 || i == str.length() - 2)
break;
else
fileName = str.substring(i);
}
// System.out.println(filePath);
if(ii!=100)
fileName = str.substring(i);
...........後面不改.
如果頭是e://tttt11.PNG,那這個和下面的循環規律不一樣,大概寫下:
if(ii==1)filePath=".PNG";
把我上面修改後的代碼加到else里就行了(用我上面修改後的代碼,不然你的尾還是顯不出來).
D. Java 文件路徑的不同寫法
樓上的
,,,E:/test.txt怎麼就是相對路徑了,,這兩個都是絕對路徑,
不同的是分隔符的不同WIN自身的分隔符是「\」;
而這個又與「轉義符」重合了所以再用「\」做文件分隔符的時候要寫兩個;
「//」符號表示當前目錄的當前目錄
也就是說多幾個「/」是沒有區別的;
另外再說一個「.」表示當前目錄、「..」表示上一級目錄。
E. JAVA如何得到文件路徑
要得到什麼文件路徑``
在你要用路徑的時候 比如 <img src="XXXXXXXX"></ing>
中間的XXXXXX你就這么寫`先把原來的文件路徑用STRING 形式存在資料庫`
現在取出來`賦給變數 abc
在這里再寫成
String abc = "你的文件路徑"
<img src="<%=ABC%>"></ing>
F. JAVA中如何得到文件路徑
java文件中獲得路徑
Thread.currentThread().getContextClassLoader().getResource("") //獲得資源文件(.class文件)所在路徑
ClassLoader.getSystemResource("")
Class_Name.class.getClassLoader().getResource("")
Class_Name.class .getResource("/")
Class_Name.class .getResource("") // 獲得當前類所在路徑
System.getProperty("user.dir") // 獲得項目根目錄的絕對路徑
System.getProperty("java.class.path") //得到類路徑和包路徑
列印輸出依次如下:
file:/F:/work_litao/uri_test/WebContent/WEB-INF/classes/
file:/F:/work_litao/uri_test/WebContent/WEB-INF/classes/
file:/F:/work_litao/uri_test/WebContent/WEB-INF/classes/
file:/F:/work_litao/uri_test/WebContent/WEB-INF/classes/
file:/F:/work_litao/uri_test/WebContent/WEB-INF/classes/com/xml/imp/
F:\work_litao\uri_test
F:\work_litao\uri_test\WebContent\WEB-INF\classes;F:\work_litao\uri_test\WebContent\WEB-INF\lib\dom4j.jar
G. JAVA的File問題(輸出文件夾中文件的路徑名稱)
你在輸入路徑要這樣輸入「 e:\」 你用遞歸來獲取判斷主函數里是不用在去循環的,你這段代碼可以改一下:
publicstaticvoidlist(Filefe)
{
File[]h=fe.listFiles();
for(intx=0;x<h.length;x++)
{
if(h[x].isDirectory())
list(h[x]);
else
System.out.pritln(h[x]);
}
}
publicstaticvoidmain(String[]args)
{
Filefile=newFile("e:\");
list(file);
}
如果文件數量過多建議不要使用遞歸,內存會溢出。這個要拋個IO異常。
H. javafile能獲取到文件路徑嗎
File類有兩個常用方法可以得到文件路徑一個是:getCanonicalPath(),另一個是:getAbsolutePath(),可以通過File類的實例調用這兩個方法例如file.getAbsolutePath()其中file是File的實例對象。下面是一個具體例子:
public 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()會把它解析成為目錄名字(目錄名字是點號)。
I. 請教java的File類中的路徑問題
你好!
Filefile1=newFile("1.xml");
//它會在當前路徑下找1.xml
J. java 文件路徑
File f1 = new File("E:/TEXT");
f1.mkdir();
//確保E盤中一定有文件TEXT
//判斷村不存在TEXT.txt這個文件,不存在則可以創建了
if(!new File("E:/TEXT/TEXT.txt").exists())
f1.createNewFile();