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:luemix_java_sourcecodeluemix_java_sourcecodeTestForJavasrcfileMyEvent getPath:srcfileMyEvent getName:MyEvent getAbsoluteFile:C:luemix_java_sourcecodeluemix_java_sourcecodeTestForJavasrcfileMyEvent
@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:luemix_java_sourcecodeluemix_java_sourcecodeTestForJavasrcfileMyEvent getPath:C:luemix_java_sourcecodeluemix_java_sourcecodeTestForJavasrcfileMyEvent getName:MyEvent getAbsoluteFile:C:luemix_java_sourcecodeluemix_java_sourcecodeTestForJavasrcfileMyEvent
结论:
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不在同一个路径,则是移动文件的效果。