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