File.getAbsolutePath()将为您提供文件的完整完整路径名(文件路径+文件名)。

例如,

File file = File("C:\\abcfolder\\textfile.txt");
System.out.println("Path : " + file.getAbsolutePath());

它将显示完整路径:“ 路径:C:\\ abcfolder \\ textfile.txt ”。

在大多数情况下,您可能只需要获取文件路径“ C:\\ abcfolder \\ ”。 借助substring()lastIndexOf()方法,您可以轻松提取文件路径:

File file = File("C:\\abcfolder\\textfile.txt");
String absolutePath = file.getAbsolutePath();
String filePath = absolutePath.
    substring(0,absolutePath.lastIndexOf(File.separator));

获取文件路径示例

在此示例中,它将创建一个临时文件,并打印出它的文件路径。

package com.mkyong.file;

import java.io.File;
import java.io.IOException;

public class AbsoluteFilePathExample
{
    public static void main(String[] args)
    {	
    	try{
    		
    	    File temp = File.createTempFile("i-am-a-temp-file", ".tmp" );
        	
    	    String absolutePath = temp.getAbsolutePath();
    	    System.out.println("File path : " + absolutePath);
    	    
    	    String filePath = absolutePath.
    	    	     substring(0,absolutePath.lastIndexOf(File.separator));
				
    	    System.out.println("File path : " + filePath);
    	    
    	}catch(IOException e){
    		
    	    e.printStackTrace();
    		
    	}
    	
    }
}




结果

File path : C:\Users\mkyong\AppData\Local\Temp\i-am-a-temp-file69424.tmp
File path : C:\Users\mkyong\AppData\Local\Temp

参考

  1. File.getAbsolutePath()文档
  2. 字符串substring()和lastIndexOf()文档




翻译自: https://mkyong.com/java/how-to-get-the-filepath-of-a-file-in-java/