作业 2- 7

来源:2-7 自由编程

jia_蛙

2019-09-10 18:15:54

public class FileDemo1 {
	public static void main(String[] args) {
		//创建File对象
		File file = new File("B:\\File\\Monday.docx");
		
		//判断文件是否创建成功
		if(!file.exists()) {
			try {
				//文件不存在时,则创建
				file.createNewFile();
			} catch (IOException e) {
				e.printStackTrace();
			}
			System.out.println("创建文件成功!");
			System.out.println("文件名称: " + file.getName());
			System.out.println("文件上一级目录:" + file.getParent());
		}
		
		String str = null;
		
		//判断是否是文件还是目录
		if(file.isDirectory()) {
			str = "目录";
			System.out.println("文件/目录:这是一个目录");
		}else if(file.isFile()){
			str = "文件";
			System.out.println("文件/目录:这是一个文件");
		}
		
		//判读读写性
		if(file.canRead() && file.canWrite()) {
			System.out.println("读写性:这个" + str + "可读也可以写");
		}else if(file.canRead()) {
			System.out.println("读写性:这个" + str + "只可以读");
		}else if(file.canWrite()) {
			System.out.println("读写性: 这个" + str + "只可以写");
		}
	}
	
结果: 
创建文件成功!
文件名称: Monday.docx
文件上一级目录:B:\File
文件/目录:这是一个文件
读写性:这个文件可读也可以写
1.老师 ,有没有什么方法 可以直接返回上一级的目录名,就是不带盘符的 
   文件上一级目录:B:\File  -- > 文件上一级目录:File

http://img.mukewang.com/climg/5d7776f400011f0111430701.jpg

2. 如果我创建File对象的时候的路径是错误的话,它会抛异常样,不是应该没有就会去创建嘛?
    而且后面也没有判断是文件还是目录,我看了一下,如果路径是错误根本就不会创建出来。


写回答

1回答

好帮手慕酷酷

2019-09-10

同学你好,

1、可以使用 file.getParentFile().getName(),首先使用getParentFile()获得父目录的文件对象,然后通过.getName()获取父目录的文件名。具体修改如下:

http://img.mukewang.com/climg/5d777a3a0001284a05580079.jpg

2、同学可以看一下抛出的异常位置是在如下位置,也就是createNewFile() 处,并不是创建File对象处:

http://img.mukewang.com/climg/5d777be50001348105380593.jpg

抛出异常的具体原因如下:

createNewFile() 方法的含义是根据路径创建一个新的空文件而不能创建目录,如果没有在电脑上新建目录则会报IO异常。

该方法表示如果指定的文件不存在并成功地创建,则返回 true;如果指定的文件已经存在,则返回 false。

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

0

0 学习 · 11489 问题

查看课程

相似问题

4-7作业

回答 1

关于就业班

回答 1

三-3-7作业

回答 1