学习-Java输入输出之File类之获取文件信息(1)

2023-11-19

任务描述

本关任务:判断给定的字符串是目录、文件路径还是其它。

相关知识

File 对象既可以表示文件,又可以表示目录,下面我们来了解一下更多关于 File 对象的操作。 #####获取文件信息常用方法 已知在C:/Users/yy/Desktop/file目录下有文件a.txtb.txt。 当 File 对象表示目录时,有以下常用方法获取文件信息:

  1. public static void main(String[] args) throws IOException{
  2. File f = new File("C:\\Users\\yy\\Desktop\\file");
  3. // 判断是否是目录
  4. boolean directory1 = f.isDirectory();
  5. System.out.println(directory1);
  6. // 返回定义文件对象的路径
  7. String path = f.getPath();
  8. System.out.println(path);
  9. // 返回绝对路径
  10. String absolutePath = f.getAbsolutePath();
  11. System.out.println(absolutePath);
  12. // 以字符串数组的形式,返回当前文件夹下的所有文件(不包含子文件及子文件夹)
  13. String[] list = f.list();
  14. System.out.println(Arrays.toString(list));
  15. // 以文件数组的形式,返回当前文件夹下的所有文件(不包含子文件及子文件夹)
  16. File[] fs= f.listFiles();
  17. System.out.println(Arrays.toString(fs));
  18. // 以字符串形式返回所在文件夹
  19. String parent = f.getParent();
  20. System.out.println(parent);
  21. // 以文件形式返回所在文件夹
  22. File parentFile = f.getParentFile();
  23. System.out.println(parentFile);
  24. }

执行结果:

  1. true
  2. C:\Users\yy\Desktop\file
  3. C:\Users\yy\Desktop\file
  4. [a.txt, b.txt]
  5. [C:\Users\yy\Desktop\file\a.txt, C:\Users\yy\Desktop\file\b.txt]
  6. C:\Users\yy\Desktop
  7. C:\Users\yy\Desktop

当 File 对象表示文件时,有以下常用方法获取文件信息:

  1. public static void main(String[] args) throws IOException{
  2. File f = new File("C:\\Users\\yy\\Desktop\\file\\a.txt");
  3. // 判断是否是文件
  4. boolean file = f.isFile();
  5. System.out.println(file);
  6. // 获取文件字节大小
  7. long length = f.length();
  8. System.out.println(length);
  9. // 判断文件是否可读
  10. boolean b = f.canRead();
  11. System.out.println(b);
  12. // 判断文件是否可写
  13. boolean b1 = f.canWrite();
  14. // 判断文件是否存在
  15. boolean exists = f.exists();
  16. System.out.println(exists);
  17. // 获取文件名字
  18. String name = f.getName();
  19. System.out.print(name);
  20. }

执行结果:

  1. true
  2. 10
  3. true
  4. true
  5. a.txt
import java.io.*;
import java.util.Arrays;
import java.util.Scanner;

public class FileTest {
    public static void main(String[] args) throws IOException {
        // 请在Begin-End间编写完整代码
        /********** Begin **********/
        // 接收给定字符串
        Scanner input = new Scanner(System.in);
        String str = input.nextLine();
        // 创建文件对象
        File file = new File(str);
        // 如果字符串是文件,请做相应操作
        if (file.isFile()){
            System.out.println(file.getName());
            System.out.println(file.length());
        }
        // 如果字符串是目录,请做相应操作
        else if (file.isDirectory()){
            String[] list = file.list();
            System.out.println(Arrays.toString(list));
        }
        // 如果字符串既不是文件,又不是目录,请做相应操作
        else {
            System.out.println("非法字符串");
        }
        /********** End **********/
    }
}

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

学习-Java输入输出之File类之获取文件信息(1) 的相关文章

随机推荐

  • SMB/CIFS--NetBOIS/Browser/NBNS 协议

    在NetBIOS出现之后 Microsoft就使用NetBIOS实现了 一个网络文件 打印服务系统 这个系统基于NetBIOS设定了一套文件共享协议 Microsoft称之为SMB Server Message Block 协议 这个协议被
  • Windows下编译FFmpeg详解

    Windows下编译FFmpeg 2 6 1详解 在诸多网友帮助下终于搞定了FFmpeg V2 6 1 由于编译环境和程序版本的不同 造成了很多不必要的时间浪费 特在此将编译过程和遇到的问题解决方法写出来 以便方便大家 编译环境 PC Wi
  • 文件操作中出现system.notsupportedexception异常

    偶然的用了如下代码 string sourceDoc lt 文件全路径 gt bool isExists File Exists sourceDoc 此时isExists变量得到的值为false 仔细查看了变量sourceDoc的值 确定路
  • springBoot:方法上配置produces = {"application/json;charset=UTF-8"} 参数

    方法上有 produces application json charset UTF 8 去掉方法上面的 produces application json charset UTF 8 之后 定义了返回格式
  • Django笔记

    文章目录 Django笔记 1 Django项目 2 学习笔记 3 仅供参考 第一天 1 项目环境搭建 1 1 cmd 创建项目虚拟环境和指定Django版本 1 2 pycharm 创建项目 虚拟环境文件夹
  • 分析系统 - 使用Python爬虫

    在竞争激烈的市场环境中 了解和分析竞争对手的销售策略和市场表现对于企业的成功至关重要 本文将介绍如何利用Python爬虫建立低成本的销售竞争对手分析系统 探索其方法 工具和好处 并同时解决可能出现的问题 销售竞争对手分析的目标是获取有关竞争
  • asoc widget path route(audio_map)

    上一篇文章中 我们介绍了音频驱动中对基本控制单元的封装 kcontrol 利用kcontrol 我们可以完成对音频系统中的mixer mux 音量控制 音效控制 以及各种开关量的控制 通过对各种kcontrol的控制 使得音频硬件能够按照我
  • 6_线性表的相关操作

    文章目录 线性表的一些常用操作 线性表操作的实现 用C语言描述线性表 小结 线性表的一些常用操作 创建线性表 销毁线性表 清空线性表 将元素插入线性表 将元素从线性表中删除 获取线性表中某个位置的元素 获取线性表的长度 线性表操作的实现 线
  • Ubuntu系统安装Nvidia显卡驱动、Cuda、Cudnn、Pytorch、Tensorflow

    如果你的机器显卡是集成显卡 或者是老旧版本 那么不支持GPU加速 只能使用CPU版本的Pytorch Tensorflow 本文的前提是你有一块好的Nvidia显卡 1 如何查看电脑的显卡型号 在windows系统上 查看显卡型号的方法如下
  • 【数据结构】【王道408】——PPT截图与思维导图

    自用视频PPT截图 视频网址王道B站链接 23考研 408新增考点 并查集 红黑树 2023年408真题数据结构篇 408考纲解读 考纲变化 目录 第一章 绪论 第二章 线性表 顺序表 单链表 双链表 循环链表 静态链表 差别 第三章 栈
  • python大一考试知识点_Python复习知识点总结(针对校招

    正文 Python是门动态语言 运行时候采取检查数据类型 Python解释器 让其他程序运行起来的程序 Python解释器读取程序 按照其中的语句顺序执行 并得出结果 做了什么 解释器将语句翻译成一组字节码指令 pyc 字节码运行速度比源代
  • 图片撕纸效果处理

  • 自动化办公神器!用Python批量识别发票并录入到Excel表格!可以讨财务女神开心了!

    故事的开始 今天去财务拿上个月的工资条核对 发现女神一脸闷闷不乐 好像天要塌下来一样 我对完工资就问 女神 你咋不开心 不是马上就要发工资了嘛 女神说 老板刚给我派了个任务 让我把上个月这个月的发票都做一个Excel表格 今天下班前给他 这
  • windows10下编译boost1.74

    系列文章目录 文章目录 系列文章目录 前言 一 准备 二 编译步骤 前言 最近公司的项目中用到boost1 74 我机器上已经编译了boost1 79 为了配合项目无奈只有重新编译boost1 74 一 准备 1 visual studio
  • VMware镜像文件下载

    VMware镜像文件下载 http blog sina com cn s blog 517c21c00102x5ja html 貌似Centos 6不能下载啊 其他的没有测试
  • 12个真实项目实战带你玩转Java并发编程

    这篇博客 我会总结如下内容 满满的干货 篇幅可能会很长 做好心理准备 Immutable Object 不可变对象模式 在不引入锁的条件下 能保证访问共享变量时是线程安全的 缺点是会频繁的创建变量 Guarded Suspension 保护
  • 什么是架构,架构的本质是什么

    不论是开发人员还是架构师 我们都一直在跟软件系统打交道 架构是在工作中出现最频繁的术语之一 那么 到底什么是架构 你可能有自己的答案 也有可能没有答案 对 架构 的理解需要我们不断在实践中思考 归纳 演绎 形成自己的认知 一 什么是软件架构
  • Dinic算法学至大佬,学以致用【挂上相应的题目】

    这个巨佬讲的超级厉害 学起来很快 还有优化的说呢 Dinic算法 研究总结 网络流 网络流是信息学竞赛中的常见类型 笔者刚学习了最大流Dinic算法 简单记录一下 网络流基本概念 什么是网络流 在一个有向图上选择一个源点 一个汇点 每一条边
  • 11年做安卓开发至今,我失业了,我跟CSDN的缘分

    今天来写篇自己的文章 自己工作的文章 11年毕业到现在 我彻底失业了 是真的失业了 不过失业我觉得没什么可怕 至少干了这些年 也攒下了一些生活费 至少饿不死就行了 我失业也是因为自己有业 并不害怕 从11年做开发 那个时候就边做开发 边思考
  • 学习-Java输入输出之File类之获取文件信息(1)

    任务描述 本关任务 判断给定的字符串是目录 文件路径还是其它 相关知识 File 对象既可以表示文件 又可以表示目录 下面我们来了解一下更多关于 File 对象的操作 获取文件信息常用方法 已知在C Users yy Desktop fil