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不在同一個路徑,則是移動檔案的效果。