IO流介绍:

io就是Input/Output的缩写形式,Input是输入流,Output是输出流。

流:传递数据的通道,流关心的是数据内容,因为流就是与数据打交道。

io分8位流和16位流。8位流又叫字节流,16位流又叫字符流。在应用中用的最多的是8位流,因为所有的文件都是以字节组成,16位流只适合处理文字、字符上的事情,因为16位流会转化成字符。

io流的操作类都在java.util这个包下。

 

 

File类:

File类并不是对文件本身的内容进行操作,file只是对文件路径的描述和获得文件的周边信息,例如像文件的字节大小、文件的路径、文件的修改时间、文件是否可读可写等信息的获得。并不能对文件的内容进行操作。

因为文件的内容不包括文件的周边信息,文件的周边信息都是存放在操作系统里的。例如文件的后缀,在Windows操作系统里,文件的后缀是用来绑定执行程序的。所以File类更像是路径的封装对象。

 

文件的周边信息图片:

构建File类对象的时候需要传递一个字符串描述的路径,这个路径可以是文件路径,也可以是目录路径。

路径分:1.绝对路径  2.相对路径

绝对路径的写法,就是把从盘符详细到文件的路径:

相对路径的写法,相对路径的文件必须在工程目录下:

两种路径合并的写法:

File类的方法:

 File类有很多方法:

System.out.println(file.exists()); 判断路径描述是否存在

System.out.println(file.isFile()); 判断是不是文件

 

System.out.println(file.isDirectory()); 判断是不是文件夹

System.out.println(file.isAbsolute()); 判断是不是绝对路径

System.out.println(file.isHidden()); 判断是不是隐藏文件呢?

System.out.println(file.canRead()); 判断能不能读

 

System.out.println(file.canWrite()); 判断能不能写

 

System.out.println(file.canExecute()); 判断是否能执行

 

System.out.println(file.length());  获得文件的长度 单位是字节

System.out.println(newDate(file.lastModified()).toLocaleString());    获得最后的修改时间

 

System.out.println(file.getPath()); 得到里面设置的路径

System.out.println(file.getAbsolutePath()); 得到绝对路径

System.out.println(file.getName());得到文件名称

 

file.mkdirs(); 批量创建文件夹

 

file.mkdir(); 单个创建文件夹

 

System.out.println(f.getParentFile().getParent());  获得父路径的父路径,也就是获得上两层的路径

 

System.out.println(Test.class.getResource(".").getPath());  获得当前类的路径,也就是class文件的路径

 

file.delete();  立即删除文件,文件夹也可以删除,但是文件夹里不能有内容,如果有内容则不能执行删除。

 

file.deleteOnExit(); 程序关闭之前删除,如果是非法关闭,就不会执行删除。

File.createTempFile();创建临时文件方法。可以创建临时文件,需要以字符串的方式描述文件的前缀和后缀,可以指定创建的路径,如果不指定创建的路径,就会默认在操作系统的临时文件目录下创建。

代码示例:

createNewFile();创建文件方法,此方法可以创建一个文件,这个方法有boolean类型的返回值,创建成功了就返回true,创建失败则返回false。

  代码示例:

renameTo();剪切并可以重命名文件方法。此方法可以将指定路径下的文件剪切到另一个路径下,并且能够重命名。这个方法实际上是把原来的文件复制了然后粘贴到指定的路径下后再把原来的文件删除了,所以需要重新写文件名才可以实现剪切,此方法也有boolean类型的返回值。

  代码实例:

File.listRoots();使用这个方法会返回一个File类型的数组,获得的是机器盘符,在linux操作系统下则是获取根目录文件,因为在linux操作系统里是没有盘符的只有文件。

  代码示例:

运行结果:

使用以上知识点做一个U盘发现器:

运行结果:

本文转自 ZeroOne01 51CTO博客,原文链接:http://blog.51cto.com/zero01/1976613,如需转载请自行联系原作者

IO流介绍与File类相关推荐

  1. IO流技术【Properties类介绍、文件切割与合并】

    IO流技术[Properties类介绍.文件切割与合并] 1.Properties类介绍 1.1.Properties的基本功能 Properties特点: 1.Hashtable的子类,map集合中 ...

  2. IO流介绍、java常用的几个IO流类之间的区别,以及各自的用法、使用场景

    1. IO流介绍 IO流(Input Output Stream,输入输出流),表示数据在程序内存和磁盘之间的传输.按照数据流的流向不同分为输入.输出流,输入流表示程序从磁盘读入数据,输出流表示程序往 ...

  3. Java IO流大闯关--IO流的常用实现类

    这个系列的博客主要是对Java高级编程中IO流相关的知识点做一个梳理,内容主要包括File类.IO流原理及流的分类.文件流.缓冲流.转换流.标准输入输出流.打印流.数据流.对象流.随机存取文件流.NI ...

  4. file数组 删除文件_java编程IO基础之一:File类

    在整个java.io包中,File类是唯一的一个与文件本身操作有关的类,既可以执行文件的创建.删除.重命名,取得文件大小和修改日期. File的构造函数: public File(String pat ...

  5. 字节流转化为文件流_JAVA IO分析一:File类、字节流、字符流、字节字符转换流...

    因为工作事宜,又有一段时间没有写博客了,趁着今天不是很忙开始IO之路:IO往往是我们忽略但是却又非常重要的部分,在这个讲究人机交互体验的年代,IO问题渐渐成了核心问题. 一.File类 在讲解File ...

  6. 【JAVA SE】第十二章 流(Stream)、IO流和文件(File)

    第十二章 流(Stream).IO和文件(File) 文章目录 第十二章 流(Stream).IO和文件(File) 一.流(Stream) 1.什么是流 2.流的分类 二.IO流 1.字节输入流(I ...

  7. 【两万字】IO流介绍大全,代码例题,内存图结构,一看就会

    IO流对象 File类 文件 : File计算机中存储数据的 (音乐,电影,word,excel) 目录 : Directory 计算机中的文件夹,文件夹不能存储数据的,保存文件的容器 路径 : 文件 ...

  8. 第1章 IO流概述及FileWriter类使用

    1.1 IO流概述及分类 IO流用来处理设备之间的数据传输 Java对数据的操作是通过流的方式 Java用于操作流的类都在IO包中 流按流向分为两种:输入流,输出流 1.2 FileWriter类使用 ...

  9. java IO流之一 IO流介绍

    1.IO流是干什么的? IO流指 的是输入输出流,用来处理设备上的数据.这里的设备指硬盘,内存,键盘录入,网络传输等. 2.IO流的分类? 按处理数据类型来分:字节流和字符流 按流的方向来分:输入流和 ...

  10. java IO流之一 IO流介绍

    http://blog.csdn.net/a107494639/article/details/7586365 1.IO流是干什么的? IO流指 的是输入输出流,用来处理设备上的数据.这里的设备指硬盘 ...

最新文章

  1. java类的继承(下)
  2. Dataset:机器学习和深度学习中对数据集进行高级绘图(数据集可视化,箱线图等)的简介、应用之详细攻略——daidingdaiding
  3. [for循环之等腰三角形]
  4. 模拟Spring Security上下文进行单元测试
  5. 如何暂停一个正在运行的线程?
  6. mysql5.7下载及详细安装教程_MySQL 5.7 下载及安装教程(详细)
  7. web sqlite linux,基于嵌入式Linux和Sqlite的Web服务器的研究及应用
  8. Java序列化机制原理,java面试题,java基础笔试题,BAT
  9. 搭建一个Vue项目(完整步骤)
  10. vscode markdown_使用vscode开始Markdown写作之旅
  11. 「WC 2019」数树
  12. MATLAB 数据显示格式
  13. mt950报文解析_MT700报文升级内容逐项解析
  14. 服装行业进销存软件有哪些简单好用又便宜的?
  15. java将模糊的图片变清晰_java高清图生成缩略图变得模糊
  16. windows7打不开html文件格式,mht是什么文件?Win7打不开mht格式文件的解决办法
  17. 2021最全HW蓝队指导手册
  18. md5值是什么?md5值有什么用?
  19. 优酷android 离线 导出来,手机优酷缓存的视频如何导出 缓存视频导出到电脑方法...
  20. C/C++就业领域与学习方向 | 学习计划

热门文章

  1. 【同行说技术】Python开发、调试、爬虫类工具大全
  2. C#高级编程笔记(二)
  3. linux忘记mysql密码
  4. CodeForces - 877C
  5. Linux LVM动态扩容
  6. Apache实现一个IP配置多个站点
  7. 51nod1122 机器人走方格 V4
  8. 试图删除 xx 和yy之间的关系。但是,关系的其中一个外键 (xx_yy.xxID) 无法设置为 null。...
  9. HDU 1407 测试你是否和LTC水平一样高 枚举、二分、hash
  10. windows7 shift+右键 “在此处打开命令窗口”