1.java.io.File类简介

  • 凡是与输入、输出相关的类、接口等都定义在java.io包下
  • File是一个类,可以有构造器创建其对象。此对象对应着一个文件(.txt .avi .doc .ppt .mp3 .jpg)或文件目录
  • File类对象是与平台无关的
  • File中的方法,仅涉及到如何创建、删除、重命名等等。只要涉及文件内容的,File是无能为力的,必须由io流来完成
  • File类的对象常作为io流的具体类的构造器的形参

   2.createNewFile()  delete()  lastModified()   exists() 

  1. package com.nio.File;
  2.  
  3. import java.io.File;
  4. import java.io.IOException;
  5. import java.util.Date;
  6. /**
  7. * 文件操作
  8. * @author yyx
  9. * 2019年1月15日
  10. */
  11. public class FileOperateFirst {
  12. public static void main(String[] args) {
  13. String filePath = "D:" + File.separator + "testfile.txt";
  14. System.out.println(filePath);
  15.  
  16. File file = new File(filePath);
  17.  
  18. // 判断文件是否存在且是不是文件
  19. if (file.isFile() && file.exists()) {
  20. // 删除文件
  21. file.delete();
  22. } else {
  23. try {
  24. // 创建文件
  25. file.createNewFile();
  26. // 打印文件最后编辑时间
  27. System.out.println(new Date(file.lastModified()));
  28. } catch (IOException e) {
  29. e.printStackTrace();
  30. }
  31. }
  32. }
  33. }

   3.mkDir()  mkDirs()  list()  listFiles()

  1. package com.nio.File;
  2.  
  3. import java.io.File;
  4. import java.io.IOException;
  5.  
  6. /**
  7. * 文件操作
  8. *
  9. * @author yyx 2019年1月15日
  10. */
  11. public class FileOperateSecond {
  12. public static void main(String[] args) {
  13. String mkdirPath = "D:" + File.separator + "testfile";
  14. File mkdirFile = new File(mkdirPath);
  15. // isDirectory() 测试此抽象路径名表示的文件是否为目录
  16. if (!mkdirFile.exists() && !mkdirFile.isDirectory()) {
  17. // mkDir():创建一个文件目录。只有在上层文件目录存在的情况下,才能返回true
  18. System.out.println(mkdirFile.mkdir());
  19. }
  20.  
  21. String mkdirsPath1 = "D:" + File.separator + "testfile1" + File.separator + "file1";
  22. File mkdirsFile1 = new File(mkdirsPath1);
  23. if (!mkdirsFile1.exists() && !mkdirsFile1.isDirectory()) {
  24. // 此处因testfile1目录不存在,故报错
  25. // System.out.println(mkdirsFile1.mkdir());
  26. }
  27.  
  28. String mkdirsPath2 = "D:" + File.separator + "testfile" + File.separator + "file2" + File.separator + "file3";
  29. File mkdirsFile2 = new File(mkdirsPath2);
  30. if (!mkdirsFile2.exists() && !mkdirsFile2.isDirectory()) {
  31. // mkDirs():创建一个文件目录。若上层文件目录不存在,一并创建
  32. System.out.println(mkdirsFile2.mkdirs());
  33. }
  34.  
  35. /*
  36. * 只有上级目录存在,才能在该目录下创建文件
  37. */
  38. String filePath1 = "D:" + File.separator + "testfile1" + File.separator + "filepath.txt";
  39. File file1 = new File(filePath1);
  40. if (!file1.exists()) {
  41. try {
  42. // 报错 系统找不到指定的路径
  43. // file1.createNewFile();
  44. } catch (Exception e) {
  45. e.printStackTrace();
  46. }
  47. }
  48.  
  49. String filePath2 = "D:" + File.separator + "testfile" + File.separator + "file2" + File.separator
  50. + "filepath1.txt";
  51. File file2 = new File(filePath2);
  52. if (!file2.exists()) {
  53. try {
  54. System.out.println(file2.createNewFile());
  55. } catch (IOException e) {
  56. e.printStackTrace();
  57. }
  58. }
  59.  
  60. /*
  61. * list()返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录
  62. * listFiles()返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件 可以使用递归循环取出目录下的文件和目录
  63. */
  64. File file3 = new File(mkdirPath);
  65. String[] strs = file3.list();
  66. for (int i = 0; i < strs.length; i++) {
  67. System.out.println(strs[i]);
  68. }
  69.  
  70. System.out.println("*******************");
  71.  
  72. File[] files = file3.listFiles();
  73. for (int i = 0; i < files.length; i++) {
  74. System.out.println(files[i].getName());
  75. }
  76. }
  77. }

Java输入输出流(IO)-----文件类File详解的更多相关文章

  1. 在java poi导入Excel通用工具类示例详解

    转: 在java poi导入Excel通用工具类示例详解 更新时间:2017年09月10日 14:21:36   作者:daochuwenziyao   我要评论   这篇文章主要给大家介绍了关于在j ...

  2. (java基础)Java输入输出流及文件相关

    字节流: 所有的字节输入输出都继承自InputStream和OutputStream,通常用于读取二进制数据,最基本单位为单个字节,如图像和声音.默认不使用缓冲区. FileInputStream和F ...

  3. java开发知识IO知识之输入输出流以及文件

    目录 java开发知识IO知识之输入输出流以及文件 一丶流概述 二丶输入流讲解 InputStream类. 1. 输入流以及类层次结构 2.文件操作.使用输入流读取 三丶输出流 OutputStrea ...

  4. java:利用java的输入/输出流将一个文件的每一行+行号复制到一个新文件中去

    import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.Fi ...

  5. Java输入/输出流体系

    在用java的io流读写文件时,总是被它的各种流能得很混乱,有40多个类,理清啦,过一段时间又混乱啦,决定整理一下!以防再忘 Java输入/输出流体系 1.字节流和字符流 字节流:按字节读取.字符流: ...

  6. Java 输入输出流 转载

    转载自:http://blog.csdn.net/hguisu/article/details/7418161 1.什么是IO Java中I/O操作主要是指使用Java进行输入,输出操作. Java所 ...

  7. java输入输出流总结 转载

    一.基本概念 1.1 什么是IO?     IO(Input/Output)是计算机输入/输出的接口.Java中I/O操作主要是指使用Java进行输入,输出操作.     Java所有的I/O机制都是 ...

  8. Java输入输出流(转载)

    转自http://blog.csdn.net/hguisu/article/details/7418161 目录(?)[+] 1.什么是IO Java中I/O操作主要是指使用Java进行输入,输出操作 ...

  9. Java输入输出流(1)

    1.什么是IO Java中I/O操作主要是指使用Java进行输入,输出操作. Java全部的I/O机制都是基于数据流进行输入输出,这些数据流表示了字符或者字节数据的流动序列.Java的I/O流提供了读 ...

随机推荐

  1. redis使用rdb恢复数据

    redis中存在rdb备份和aof备份两种方式. 如果在redis多个节点发生雪崩时,我们往往使用定期冷备rdb或者aof文件,去恢复数据的方式,但往往数据量较大时rdb恢复更加的快速,毕竟aof保存 ...

  2. 20165225 2017-2018-2《Java程序设计》课程总结

    20165225 2017-2018-2<Java程序设计>课程总结 - 每周作业链接汇总: 预备作业一:我期待的师生关系 预备作业二:学习基础和C语言基础调查 预备作业三:linux安装 ...

  3. redis 的消息队列 VS kafka

    redis push/pop VS pub/sub (1)push/pop每条消息只会有一个消费者消费,而pub/sub可以有多个 对于任务队列来说,push/pop足够,但真的在做分布式消息分发的时 ...

  4. 【托业】【新托业TOEIC新题型真题】学习笔记9-题库七+八--P4-5

    109.intend 意为“打算,意欲”,含有将来的含义,故不用将来时态 110.must do sth 必须做某事 111.recession 经济衰退,不景气 rebound 反弹:反应 recr ...

  5. yum方式安装lnmp

    1.安装mysql>>>yum -y install mariadb mariadb-server 给root用户设置密码 >>>mysqladmin -uroot ...

  6. staticmethod()静态方法和classmethod类方法都是装饰器

    1.staticmethod()静态方法 使用@staticmethod目的是为了增加可读性,不需要参数self(不强制要求传递参数) 的方法都可以加上@staticmethod增加可读性 静态方法无 ...

  7. 小程序js执行顺序

    底部tab 有 login/index    my/index   home/index 操作1>进 login/index 页面,  index.js加载以下方法 onLoad页面加载onSh ...

  8. 281A

    #include <iostream> #include <string> #include <cctype> using namespace std; int m ...

  9. extjs model store学习笔记

    http://docs.sencha.com/extjs/6.2.0/guides/core_concepts/data_package.html // 定义一个ModelExt.define('My ...

  10. PHP获取访客ip、系统、浏览器等信息[转]

    1.获取访客操作系统信息   <?php   function GetOs() {   if (!empty($_SERVER['HTTP_USER_AGENT'])) {   $OS = $_ ...