老师 String getParent(),File getParentFile()

老师 String getParent(),File getParentFile()

老师 String getParent(),File getParentFile()的区别 他们都是返回的路径名一个是String类型一个是File这两个类型不一样会导致什么不一样?

正在回答

登陆购买课程后可参与讨论,去登陆

3回答

同学你好,

1、getParentFile().mkdirs()方法的使用方式,getParentFile().mkdirs()方法返回的是Boolean类型的值,如果该目录已经存在,则返回false,如果不存在,创建后,返回true,例如以下代码:

import java.io.File;

public class Test {
 
    public static void main(String[] args) {
        File file = new File("code\\2\\java.txt");
  
         boolean mkdir = file.getParentFile().mkdir();
         
         System.out.println("getParentFile : " +mkdir);

    }
 
}

输出结果为:

http://img1.sycdn.imooc.com//climg/5d4a2f41000132bc02610087.jpg

http://img1.sycdn.imooc.com//climg/5d4a2f6c0001265001970090.jpg

2、getParentFile().mkdirs()方法只能生成一层一层的文件夹,创建多层文件夹,不能生成文件,该方法是直接获取File对象的文件路径然后进行创建子文件夹哦~

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!


好帮手慕酷酷 2019-08-06 18:34:28

同学你好,

1、他们的返回值不同,getParentFile()的返回值是File型的,而getParent() 的返回值是String型的。简单来说,返回File类型,为文件类型,可以进行文件的操作,例如调用创建子文件夹的方法:getParentFile().mkdirs();而返回String类型,为字符串类型,只能获取到当前的路径名,不能进行其他操作。

2、抽象路径是指用户界面和操作系统使用与系统相关的路径名字符串来命名文件和目录。此类呈现分层路径名的一个抽象的、与系统无关的视图。简单可以理解为:比如windows上说的“桌面路径”“用户文档路径”“下载路径”“系统路径”“程序安装路径”,这些路径既不是固定不变的,也不是相对路径,而是根据环境变量等定义的。

3、getPath得到的是某个文件相对路径。

getAbsolutePath得到的是某个文件绝对路径。

getParent()和getParentFile()返回的是文件的父目录的路径。

例如如下代码:

import java.io.File;

public class Test {

	public static void main(String[] args) {
		File file = new File("code\\1\\java.txt");
	     String getParent = file.getParent();
	     File getParentFile=file.getParentFile();
	     String absolutePath = file.getAbsolutePath();
	     String path = file.getPath();
	     System.out.println("getParent is : " + getParent);
	     System.out.println("getParentFile : " +getParentFile);
	     System.out.println("absolutePath is : " + absolutePath);
	     System.out.println("path is : " +path);
	}

}

输出结果为:

http://img1.sycdn.imooc.com//climg/5d4957a60001949004390108.jpg

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

  • 提问者 散落满天的回忆 #1
    老师能说一下getParentFile().mkdirs()的使用吗,他是直接获取路径然后创建,还是要指定子文件然后获取路径创建子文件夹
    2019-08-07 09:13:54
提问者 散落满天的回忆 2019-08-06 17:44:38

老师抽象路径是什么,这两个方法和 getPath()方法以及getAbsolutePath()方法的区别

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师