Java如何構建文件路徑
當前實例版本:48 0 評論 839 瀏覽 發布於:2013年12月01 10:32 編輯+新實例

這裡有兩個“如何”Java示例構造一個文件路徑:

  1. 檢查操作係統和手動創建的文件分隔符。 (不推薦)
  2. 讓Java做的所有工作使用〜文件分割符。 (最佳實踐)

文件分割符總是推薦,因為它會檢查你的操作係統,並自動顯示正確的文件分隔符,例如,

  1. Windows – Return “\”
  2. *nix – Return “/”

手動文件分隔符的例子

一個經典的方式來手動構造一個文件路徑,不建議使用。

package com.yiibai.file;
 
import java.io.File;
import java.io.IOException;
 
public class FilePathExample 
{
    public static void main( String[] args )
    {	
    	try {
 
    	  String filename = "testing.txt";
    	  String finalfile = "";
    	  String workingDir = System.getProperty("user.dir");
 
    	  String your_os = System.getProperty("os.name").toLowerCase();
    	  if(your_os.indexOf("win") >= 0){
    		  finalfile = workingDir + "\\" + filename;
    	  }else if(your_os.indexOf( "nix") >=0 || your_os.indexOf( "nux") >=0){
    		  finalfile = workingDir + "/" + filename;
    	  }else{
    		  finalfile = workingDir + "{others}" + filename;
    	  }
 
    	  System.out.println("Final filepath : " + finalfile);
    	  File file = new File(finalfile);
 
	  if (file.createNewFile()){
	     System.out.println("Done");
	  }else{
	     System.out.println("File already exists!");
	  }
 
    	} catch (IOException e) {
	     e.printStackTrace();
	}
    }
}

文件分割符的例子

另外一個正確的方法是使用文件分割符,不同的是,隻需一行代碼就可以完成所有的檢查上麵。

package com.yiibai.file;
 
import java.io.File;
import java.io.IOException;
 
public class FilePathExample 
{
    public static void main( String[] args )
    {	
    	try {
 
    	  String filename = "testing.txt";
    	  String finalfile = "";
    	  String workingDir = System.getProperty("user.dir");
 
    	  finalfile = workingDir + File.separator + filename;
 
    	  System.out.println("Final filepath : " + finalfile);
    	  File file = new File(finalfile);
 
	  if (file.createNewFile()){
	     System.out.println("Done");
	  }else{
	     System.out.println("File already exists!");
	  }
 
    	} catch (IOException e) {
	      e.printStackTrace();
	}
    }
}

引用參考

  1. http://java.sun.com/javase/6/docs/api/java/io/File.html
  2. http://lopica.sourceforge.net/os.html