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