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如何判斷文件路徑
package jixutest;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.text.DateFormat;
import java.util.Date;
public class TestERead extends Frame implements ActionListener,ItemListener{
private List list;//用於顯示文件列表
private TextField details;//用於顯示選中的文件(夾)詳細情況
private Panel buttons;//用於放置兩個button
private Button up,close;
private File currentDir;
private FilenameFilter filter;//文件篩選器
private String[] files;//放置文件(夾)名的數組
private DateFormat dateFormatter=DateFormat.getDateTimeInstance(DateFormat.SHORT,DateFormat.SHORT);//日期格式化,注意getDateTimeInstance有兩個念前顫參數,分別表示日期和時間
/*
* 說明:
* DateFormat shortDateFormat =DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT);
* DateFormat mediumDateFormat =DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.MEDIUM);
* DateFormat longDateFormat =DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG);
* DateFormat fullDateFormat =DateFormat.getDateTimeInstance(DateFormat.FULL, DateFormat.FULL);
* 對應的日期時間格式分別如下:
* 9/29/01 8:44 PM
* Sep 29, 2001 8:44:45 PM
* September 29, 2001 8:44:45 PM EDT
* Saturday, September 29, 2001 8:44:45 PM EDT
* */
public TestERead(String directory,FilenameFilter filter){
super("File Lister");//窗口標題
this.filter=filter;//文件篩選器
addWindowListener(new WindowAdapter(){//關閉窗口
public void windowClosing(WindowEvent e){
dispose();
}
});
list=new List(12,false);//一個12行的list表單
list.setFont(new Font("MonoSpaced",Font.PLAIN,14));//設置字體
list.addActionListener(this);//捕捉雙擊滑鼠的行為
list.addItemListener(this);//捕捉悔悔單擊滑鼠的行為(選仔敗中項)
details=new TextField();//顯示文件詳情
details.setFont(new Font("MonoSpaced",Font.PLAIN,12));
details.setEditable(false);//readonly
buttons=new Panel();
buttons.setLayout(new FlowLayout(FlowLayout.RIGHT,15,15));//靠右排列項,間距15 15
buttons.setFont(new Font("SansSerif",Font.BOLD,14));
up=new Button("上一級目錄");
close=new Button("關閉");
up.addActionListener(this);
close.addActionListener(this);
buttons.add(up);
buttons.add(close);
this.add(list,"Center");
this.add(details,"North");
this.add(buttons,"South");
this.setSize(500,300);
listDirectory(directory);//列出指定目錄
}
public void listDirectory(String directory){//此方法作用是列出文件,並不涉及文件的操作
File dir=new File(directory);//創建文件(目錄)對象
if(!dir.isDirectory()){
throw new IllegalArgumentException("FileLister:no such directory");
}
files=dir.list(filter);//列出文件並用filter篩選
java.util.Arrays.sort(files);//排序文件
list.removeAll();//清除此前列出的文件列表
list.add("上一級目錄");
for(int i=0;i<files.length;i++)
list.add(files[i]);//將文件加入到列表框
this.setTitle(directory);
details.setText(directory);
currentDir=dir;
}
public void itemStateChanged(ItemEvent e){ //選中項(單擊)的相應行為,並不涉及雙擊項目
int i=list.getSelectedIndex()-1;//因為我們在列表中的第一項是「上一級目錄」,因此列表的selectedindex要比files的index大一,而我們要獲取files的index,就要相應減去1
if(i<0)
return;
String filename=files[i];
File f=new File(currentDir,filename);
if(!f.exists())
throw new IllegalArgumentException("FileLister:no such file or directory");
String info=filename;
if(f.isDirectory())
info+=File.separator;//如果是目錄就在後面增加一個分隔符,windows下是「\」,Linux下是「/」
info+=" "+f.length()+ " bytes ";
info +=dateFormatter.format(new java.util.Date(f.lastModified()));
if(f.canRead()) info+=" Read";
if(f.canWrite()) info+=" Write";
details.setText(info);
}
public void actionPerformed(ActionEvent e){//雙擊項目、單擊button的行為定義,由此我們也發現,對於列表的雙擊和對按鈕的單擊都屬於ActionEvent
if(e.getSource()==close) this.dispose();//按鈕close的行為定義
else if(e.getSource()==up) {up();}//按鈕up的行為定義
else if(e.getSource()==list) {
int i=list.getSelectedIndex();
if(i==0) up();//如果selectedindex為0,即第一項,就是「上一級目錄」那一項,就調用up()方法
else{
String name=files[i-1];
File f=new File(currentDir,name);
String fullname=f.getAbsolutePath();//取得文件(目錄)的絕對路徑
if(f.isDirectory()) listDirectory(fullname);//如果是目錄,則列出
// else new FileViewer(fullname).setVisible(true);//否則創建一個FileViewer類,即要彈出我們昨天所寫的FileViewer窗口來讀取文件的內容
}
}}
protected void up(){//列出父目錄
String parent=currentDir.getParent();
if(parent==null) return;
listDirectory(parent);//一個遞歸
}
public static void usage(){
System.out.println("Usage: java FileLister [directory_name] "+"[-e file_extension]");
System.exit(0);
}
public static void main(String args[]) throws IOException{
TestERead f;
FilenameFilter filter=null;
String directory=null;
for(int i=0;i<args.length;i++){
if(args[i].equals("-e")){
if(++i>args.length) usage();
final String suffix=args[i];//文件擴展名(-e後接著的輸入參數,因為前面已經有++i)
filter=new FilenameFilter(){//篩選器filter要實現FilenameFliter介面
public boolean accept(File dir,String name){
/*Tests if a specified file should be included in a file list.
* dir - the directory in which the file was found.
* name - the name of the file.
* 就是說,如果文件的擴展名跟我們輸入的一致,則返回true
* 否則判斷文件是否為一個目錄,如果是一個目錄,那麼也返回
* 而其他不符合我們輸入的文件,則不列出
*/
if(name.endsWith(suffix)) return true;
else return (new File(dir,name)).isDirectory();
}
};
}
else {
if(directory!=null) usage();//我們初始化的目錄是null的,如果非null,表明程序有問題,退出
else directory=args[i];//否則將-e前一個參數賦給directory
}
}
if(directory==null) directory=System.getProperty("user.dir");//如果沒有輸入目錄參數,那麼就用用戶當前目錄
f=new TestERead(directory,filter);//創建一個FileLister,這里有兩個參數,一個是目錄,一個是篩選器,這個篩選器就是我們剛才創建的那個,注意這個類中我們並沒有在main方法之外單獨創建一個篩選器方法
f.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
f.setVisible(true);
}
}
㈢ 在java項目中如何獲取某個文件的路徑
如果是在tomcat等伺服器中運行的話,用ServletContext中的getRealPath()方法可以獲取指定文件的絕對路徑,如:getRealPath("/WEB-INF/db.xml");
㈣ java怎麼獲取本地文件路徑
Java中獲取用戶本地路徑的方法:
用request對象來獲取:request.getRequestURL();
或者用:request.getRequestURI();
㈤ 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怎麼得到文件的路徑
FiletestClassFile=newFile(Test.class.getResource("Test.class")
.toString());
Filea1=newFile(URLDecoder.decode(testClassFile.getParent())
+"\..\..\..\jfinal22\a\a1.txt");
㈦ Java 獲取路徑的幾種方法
File f = new File(this.getClass().getResource("").getPath());
System.out.println(f);結果:C:\Documents%20and%20Settings\Administrator\workspace\projectName\bin\com\test
獲取當前類的絕對路徑;第二種:File directory = new File("");//參數為空
String courseFile = directory.getCanonicalPath() ;
System.out.println(courseFile);結果:C:\Documents and Settings\Administrator\workspace\projectName
獲取當前類的所在工程路徑;第三種:URL xmlpath = this.getClass().getClassLoader().getResource("selected.txt");
System.out.println(xmlpath);結果:file:/C:/Documents%20and%20Settings/Administrator/workspace/projectName/bin/selected.txt
獲取當前工程src目錄下selected.txt文件的路徑第四種:System.out.println(System.getProperty("user.dir"));結果:C:\Documents and Settings\Administrator\workspace\projectName
獲取當前工程路徑第五種:System.out.println( System.getProperty("java.class.path"));結果:C:\Documents and Settings\Administrator\workspace\projectName\bin獲取當前工程路徑
㈧ java獲取指定資源文件路徑的幾種方法
你好,提問者:
指定資源路徑的方法有兩種:
一種是絕對路徑專,一種是相對路徑。
獲取當前類的所屬在工程路徑;
Filef=newFile(this.getClass().getResource("/").getPath());
System.out.println(f);
獲取當前類的絕對路徑;
Filef=newFile(this.getClass().getResource("").getPath());
System.out.println(f);
獲取當前類的所在工程路徑;
Filedirectory=newFile("");//參數為空
StringcourseFile=directory.getCanonicalPath();
System.out.println(courseFile);
獲取當前工程src目錄下selected.txt文件的路徑:
URLxmlpath=this.getClass().getClassLoader().getResource("selected.txt");
System.out.println(xmlpath);
㈨ java 根據文件獲取文件名及路徑的方法
通過File類獲取文件,然後通過以下兩種方法獲取絕對路徑和名稱。返回類型為String
獲取絕對路徑:file.getAbsolutePath()
獲取名稱: file.getName()
㈩ 如何查找java路徑
1、要解決問題之前,我們需要下載java這個軟體,在瀏覽器上搜索,記住下載的具體位置,版方便下一步的操作。