java中的文件路徑
『壹』 java里文件路徑怎麼寫
File file = new File("D:\\123.txt");
你這種不用絕對路徑是不行的,
只有一個方法,在web工程啟動servlet中獲取到webroot路徑,在servlet的init中使用String webRoot = getServletContext().getRealPath("/");獲取,然後使用這webRoot變數追加路徑,再new File(),這樣的話要求就是,你的服務必須要啟動,否則不會init,無法得到工程發布目錄的相對路徑
『貳』 JAVA如何得到文件路徑
用
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.filechooser.FileFilter;
public class FileChooserDemo extends JPanel {
static final long serialVersionUID = 5854418136127725290L;
public class ExtensionFilter extends FileFilter {
private String extensions[];
private String description;
public ExtensionFilter(String description, String extension) {
this(description, new String[] { extension });
}
public ExtensionFilter(String description, String extensions[]) {
this.description = description;
this.extensions = (String[]) extensions.clone();
}
public boolean accept(File file) {
if (file.isDirectory()) {
return true;
}
int count = extensions.length;
String path = file.getAbsolutePath();
for (int i = 0; i < count; i++) {
String ext = extensions[i];
if (path.endsWith(ext)
&& (path.charAt(path.length() - ext.length()) == '.')) {
return true;
}
}
return false;
}
public String getDescription() {
return (description == null ? extensions[0] : description);
}
}
public FileChooserDemo() {
JButton jb = new JButton("Open File Viewer");
add(jb);
ActionListener listener = new ActionListener() {
public void actionPerformed(ActionEvent e) {
JFileChooser chooser = new JFileChooser(".");
// chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
FileFilter type1 = new ExtensionFilter("Java source", ".java");
FileFilter type2 = new ExtensionFilter("Image files",
new String[] { ".jpg", ".gif", "jpeg", "xbm" });
FileFilter type3 = new ExtensionFilter("html files",
new String[] { ".htm", ".html" });
chooser.addChoosableFileFilter(type1);
chooser.addChoosableFileFilter(type2);
chooser.addChoosableFileFilter(type3);
chooser.setAcceptAllFileFilterUsed(true);
chooser.setFileFilter(type2); // Initial filter setting
int status = chooser.showOpenDialog(FileChooserDemo.this);
if (status == JFileChooser.APPROVE_OPTION) {
File f = chooser.getSelectedFile();
System.out.println(f);
}
}
};
jb.addActionListener(listener);
}
public static void main(String args[]) {
JFrame f = new JFrame("Enhanced File Example");
JPanel j = new FileChooserDemo();
f.getContentPane().add(j, BorderLayout.CENTER);
f.setSize(300, 200);
f.setVisible(true);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
『叄』 在java項目中如何獲取某個文件的路徑
如果是在tomcat等伺服器中運行的話,用ServletContext中的getRealPath()方法可以獲取指定文件的絕對路徑,如:getRealPath("/WEB-INF/db.xml");
『肆』 java 中文文件路徑 如何解決
樓主的補充問題是正確的,我用的LINUX,是UNICODE編碼,我的
程序編輯器
也是UNICODE編碼,好象中文名路徑也沒出什麼問題,看來沒有什麼是絕對的!
『伍』 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
『陸』 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的文件路徑問題
Java中文件的路徑有相對和絕對路徑之分,一般情況下不應用於Web的話都是絕對路徑,就是版E:\....這種的,相對路徑權就是從Java文件的位置開始,和要引用的文件的路的相對路徑,你這里是轉義字元的問題,將("C:\data.txt");一行改成("C:\\data.txt");
『捌』 在java中怎麼獲得,本文件的路徑
File類有兩個常用方法可以得到文件路徑一個是:getCanonicalPath(),另一個是:getAbsolutePath(),可以
通過File類的實例調用這兩個方法例如file.getAbsolutePath()其中file是File的實例對象。下面是一個具體例子:
publicclassPathTest
{
publicstaticvoidmain(String[]args)
{
Filefile=newFile(".\src\");
System.out.println(file.getAbsolutePath());
try
{
System.out.println(file.getCanonicalPath());
}catch(IOExceptione)
{
e.printStackTrace();
}
}
}
getAbsolutePath()和getCanonicalPath()的不同之處在於,getCanonicalPath()得到的是一個規范的
路徑,而getAbsolutePath()是用構造File對象的路徑+當前工作目錄。例如在上面的例子中.(點號)代表當前目錄。
getCanonicalPath()就會把它解析為當前目錄但是getAbsolutePath()會把它解析成為目錄名字(目錄名字是點號)。
下面是上面程序在我電腦上的輸出:
G:xhuojkonw.src
G:xhuojkonwsrc
『玖』 java文件路徑問題
代碼無明顯邏輯錯誤
注意1、input.in確實存在且內容有效,2.整個代碼有沒有正確捕獲異常。版
import java.io.File;
import java.io.PrintWriter;
import java.util.Scanner;
public class Test {
static public void main(String argv[]){
權try{
File in = new File("c:\\Windows\\System32\\input.in");
Scanner s=new Scanner(in);
int a = s.nextInt();
int b = s.nextInt();
File fout = new File("c:\\Windows\\System32\\output.out");
PrintWriter out=new PrintWriter(fout);
out.println(a+b);
out.close();
}catch (Exception e){
e.printStackTrace();
}
}
}
完整可運行
『拾』 如何獲得當前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
不加任何路徑,就是指當前路徑
望點贊