天天看点

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不在同一个路径,则是移动文件的效果。