IO流介绍与File类

简介:

IO流介绍:

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

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

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

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

 

 

File类:

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

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

 

文件的周边信息图片:

fde9bf123e068f3861fc8d1e9606ddc0.png


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

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

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

0be6057bd563e3f868c5329991724095.png


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

5afc5449c30b868e45c2775e0dc228d0.png



两种路径合并的写法:

3c2fdc6424abefb692560ed146a601e2.png





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

代码示例:

d82ff3c9ce0770404ed5969ea3bc557a.png




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

  代码示例:

cf50710d8dee82d99967c3deabfa095a.png


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

  代码实例:

928c159fb6c77d5915e8930f71f5acc4.png


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

  代码示例:

a4b32e2ebcd1c8813bf0cae2c502c76e.png


运行结果:

b30facbbf7947c68f3eaad2df7c55ba2.png




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

a2e718b2c2ac0f657683f437d0225fa1.png


d1a80898d898b27544bc7ed8284665cc.png



运行结果:

253f614ec3f60c4f6a9941f66d092a35.png

b38ba2b3dceee50243050f6281ae4970.png




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

相关文章
|
7月前
|
Java
缓冲流和转换流的使用【 File类+IO流知识回顾③】
这篇文章介绍了Java中缓冲流(BufferedInputStream, BufferedOutputStream, BufferedReader, BufferedWriter)和转换流(InputStreamReader, OutputStreamWriter)的使用,包括它们的构造方法和如何利用它们提高IO操作的效率及处理字符编码问题。
缓冲流和转换流的使用【 File类+IO流知识回顾③】
|
7月前
|
存储 Java 调度
FileInputStream,FileOutputStream 和 FileReader ,FileWriter 类的基本使用【 File类+IO流知识回顾②】
这篇文章回顾了Java中FileInputStream、FileOutputStream、FileReader和FileWriter类的基本使用方法,包括读取和写入文件的操作,以及字符流和字节流的区别和应用场景。
FileInputStream,FileOutputStream 和 FileReader ,FileWriter 类的基本使用【 File类+IO流知识回顾②】
|
7月前
|
Java
File类的基本使用【 File类+IO流知识回顾①】
这篇文章回顾了Java中File类的基本使用,包括创建File对象、获取文件数据信息、判断文件存在与否、创建和删除文件目录,以及遍历文件目录的方法。
File类的基本使用【 File类+IO流知识回顾①】
|
7月前
|
存储 Java
序列化流 ObjectInputStream 和 ObjectOutputStream 的基本使用【 File类+IO流知识回顾④】
这篇文章介绍了Java中ObjectInputStream和ObjectOutputStream类的基本使用,这两个类用于实现对象的序列化和反序列化。文章解释了序列化的概念、如何通过实现Serializable接口来实现序列化,以及如何使用transient关键字标记不需要序列化的属性。接着,通过示例代码演示了如何使用ObjectOutputStream进行对象的序列化和ObjectInputStream进行反序列化。
序列化流 ObjectInputStream 和 ObjectOutputStream 的基本使用【 File类+IO流知识回顾④】
|
7月前
|
Java 大数据 API
Java 流(Stream)、文件(File)和IO的区别
Java中的流(Stream)、文件(File)和输入/输出(I/O)是处理数据的关键概念。`File`类用于基本文件操作,如创建、删除和检查文件;流则提供了数据读写的抽象机制,适用于文件、内存和网络等多种数据源;I/O涵盖更广泛的输入输出操作,包括文件I/O、网络通信等,并支持异常处理和缓冲等功能。实际开发中,这三者常结合使用,以实现高效的数据处理。例如,`File`用于管理文件路径,`Stream`用于读写数据,I/O则处理复杂的输入输出需求。
406 12
|
8月前
|
Java
IO流操作-------File类、输入流和输出流(二)
这篇文章介绍了Java中IO流操作的基本概念和使用,包括字节流和字符流的读取与写入,以及如何使用缓冲流提高文件读写效率和实现文件复制的方法。
IO流操作-------File类、输入流和输出流(二)
|
8月前
|
Java
IO流操作-------File类(一)
这篇文章介绍了Java中File类的常用操作,包括创建文件/文件夹、删除文件、查询文件属性(如存在性、大小、名称、路径)以及递归遍历文件夹下所有文件的方法。
IO流操作-------File类(一)
|
8月前
|
存储 缓存 Java
15 Java IO流(File类+IO流+字节流+字符流+字节编码)
15 Java IO流(File类+IO流+字节流+字符流+字节编码)
78 3
|
8月前
|
存储 Java
【IO面试题 四】、介绍一下Java的序列化与反序列化
Java的序列化与反序列化允许对象通过实现Serializable接口转换成字节序列并存储或传输,之后可以通过ObjectInputStream和ObjectOutputStream的方法将这些字节序列恢复成对象。
|
9月前
|
Java 大数据
解析Java中的NIO与传统IO的区别与应用
解析Java中的NIO与传统IO的区别与应用

热门文章

最新文章

下一篇
oss创建bucket