天天看點

Java File 類的檔案名和路徑相關函數

Java File類的對檔案名和路徑處理的函數主要包括:

getName()

getPath();

getAbsolutePath();

getAbsoluteFile();

getParent();

getParentFile()

renameTo(File newName);

1 getAbsolutePath()與getAbsoluteFile()的差別是:

<span style="font-size:14px;">public String getAbsolutePath() {
		return fs.resolve(this);
	}

public File getAbsoluteFile() {
		String str = getAbsolutePath();
		return new File(str, fs.prefixLength(str));
	}</span>
           

getAbsolutePath()傳回絕對路徑,getAbsoluteFile()傳回絕對路徑的File格式。 getParent() 與 getParentFile() 同理

2 getPath()與 getAbsolutePath()

<span style="font-size:14px;">@Test
    public void test2() {
        
        File file1=new File("src\\file\\MyEvent");
        
        if(!file1.exists()){
            try {
                file1.createNewFile();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            }
        System.out.println("getAbsolutePath:"+file1.getAbsolutePath());
        System.out.println("getPath:"+file1.getPath());
        System.out.println("getName:"+file1.getName());
        System.out.println("getAbsoluteFile:"+file1.getAbsoluteFile());
        
    
     }</span>
           

結果:

getAbsolutePath:C:\bluemix_java_sourcecode\bluemix_java_sourcecode\TestForJava\src\file\MyEvent

getPath:src\file\MyEvent

getName:MyEvent

getAbsoluteFile:C:\bluemix_java_sourcecode\bluemix_java_sourcecode\TestForJava\src\file\MyEvent

@Test
	public void test2() {
		
		//File file1=new File("src\\file\\MyEvent");
		File file1=new File("C:\\bluemix_java_sourcecode\\bluemix_java_sourcecode\\TestForJava\\src\\file\\MyEvent");
		if(!file1.exists()){
			try {
				file1.createNewFile();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			}
		System.out.println("getAbsolutePath:"+file1.getAbsolutePath());
		System.out.println("getPath:"+file1.getPath());
		System.out.println("getName:"+file1.getName());
		System.out.println("getAbsoluteFile:"+file1.getAbsoluteFile());
	
	}
           

結果:

getAbsolutePath:C:\bluemix_java_sourcecode\bluemix_java_sourcecode\TestForJava\src\file\MyEvent

getPath:C:\bluemix_java_sourcecode\bluemix_java_sourcecode\TestForJava\src\file\MyEvent

getName:MyEvent

getAbsoluteFile:C:\bluemix_java_sourcecode\bluemix_java_sourcecode\TestForJava\src\file\MyEvent

結論:

getPath()是File對象初始化時,指派的路徑,可能是絕對路徑也可能是相對路徑,看初始化的路徑。

getAbsolutePath()是絕對路徑

另外:初始化的路徑名可以裡分隔符可以是"\\"也可以是"/"

File file1=new File("C:\\bluemix_java_sourcecode\\bluemix_java_sourcecode\\TestForJava\\src\\file\\MyEvent");

File file2=new File("C:/bluemix_java_sourcecode/bluemix_java_sourcecode/TestForJava/src/file/MyEvent");

以上兩種寫法都是可以的。

3,renameTo(File newName);

file1.renameTo(file2)要求新的file1是存在的,file2不存在的。若file1和file2不在同一個路徑,則是移動檔案的效果。