为什么用getParent()方法返回上一级目录时,返回的却是上级所有目录。
package com.tang.file;
import java.io.File;
import java.io.IOException;
/*
* 创建一个File类对象,判断指定文件或目录是否存在,若存在判断其是文件还是目录,是否可读、可写。
*
* 任务要求:
* 1、先在File文件下创建一个Monday.docx的文件。判断文件是否创建成功,若成功返回文件名称和父目录。
* 2、先判断文件是否存在,若存在就先获取其路径或名称。
* 3、再判断其是文件还是目录;判断文件是否可读、可写
*
*
*/
public class Createfile {
public static void main(String[] args) {
// TODO 自动生成的方法存根
File file1=new File("f:\\File\\a\\b");
if(!file1.exists()) {
file1.mkdirs();
}
File file2=new File(file1,"Monday.docx");
if(!file2.exists()) {
try {
file2.createNewFile();
} catch (IOException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
}
if(file2.exists()) {
System.out.println("文件创建成功!");
System.out.println("文件名称:"+file2.getName());
String q=file2.getParent();
System.out.println("文件上一级目录:"+q);
if(file2.isDirectory()) {
System.out.println("文件或目录:这是一个目录");
}
if(file2.isFile()) {
System.out.println("文件或目录:这是一个文件");
}
if(file2.canRead()&&file2.canWrite()) {
System.out.println("读写性:这个文件既可以读,也可以写");
}
}
}
}
正在回答
同学你好,getParent()方法返回的是上层目录路径,是根据你创建的File对象时输入的路径而解析出来的,如果没有指定的父目录,则返回空。
这里返回文件上一级目录可以使用 file.getParentFile().getName(),首先使用getParentFile()获得父目录的文件对象,然后通过.getName()获取父目录的文件名。
具体如下:
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
- 参与学习 人
- 提交作业 3802 份
- 解答问题 11489 个
本阶段带你迈入Java世界,学习Java必备基础知识,基础语法、面向对象思想以及常用工具类的使用。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星