directoryPath是文件的路径名,filename是文件名,dirObj是一个File对象。例如:
现在对File类进行总结。
基于IO类和相关方法
虽然IO类有很多,但是最基本的是四个抽象类,InputStream 、OutputStream 、Reader、Writer。
最基本的方法也就是read和write方法,其他流都是上面这四类流的子类,方法也是通过这两类方法衍生而成的。而且大部分的IO源码都是native标志的,也就是说源码都是C/C++写的。 这里我们先来认识一下这些流类及其方法。
InputStream
InputStream是一个定义了 Java流式字节输入模式的抽象类。该类的所有方法在出错条件下引发一个 lOException异常。它的主要方法定义如下。
Outputstream
Outputstream是定义了流式字节输出模式的抽象类。该类的所有方法返回一个void值并且在出错情况 下引发一个lOException异常。它的主要方法定义如下。
Reader 类
Reader是Java定义的流式字符输入模式的抽象类。类中的方法在出错时引发 IOException异常。
Writer 类
Writer是定义流式字符输出的抽象类。所有该类的方法都返回一个void值并在出错条件下引发 lOException 异常。
Inputstream及其子类
-
FileInputStream文件输入流:FilelnputStream类创建一个能从文件读取字节的Inputstream类
-
ByteArrayInputStream字节数组输入流:把内存中的一个缓冲区作为InputStream使用
-
PipedInputStream管道输入流:实现了 pipe管道的概念,主要在线程中使用
-
Sequenceinputstream 顺序输入流**:**把多个 InputStream 合并为一个 InputStream
-
FilterOutputStream过滤输入流**:**其他输入流的包装
-
ObjectInputStream反序列化输入流:将之前使用ObjectOutputStream序列化的原始数据恢复为对象,以流的方式读取****对象
-
DataInputStream :数据输入流允许应用程序以与机器无关方式从底层输入流中读取基****本Java数据类型
-
PushbackInputStream推回输入流:缓冲的一个新颖的用法是实现****推回(pushback)
-
Pushback用于输入流允许字节被读取然后返回到****流
Outputstream及其子类
-
FileOutputStream文件输出流:该类实现了一个输出流,其数据写入****文件
-
ByteArrayOutputStream字节数组输出流:该类实现了一个输出流,其数据被写入由byte数组充当的缓冲区,缓冲区会随着数据的不断写入而自动增长
-
PipedOutputStream管道输出流:管道的输出流**,是管道的****发送端**
-
ObjectOutputStream基本类型输出流:该类将实现了序列化的对象序列化后写入指定地方
-
**FilterOutputStream****过滤输出流:**其他输出流的包装
-
PrintStream打印流:通过Printstream可以将文字****打印到文件或者网络中去
-
DataOutputStream :数据输出流允许应用程序以与机器无关方式向底层输出流中写入****基本Java数据类型
Reader及其子类
-
FileReader文件字符输入流:把文件转换为字符流读入
-
CharArrayReader****字符数组输入流:是一个把字符数组作为源的输入流的实现
-
BufferedReader缓冲区输入流:BufferedReader类从字符输入流中读取文本并缓冲字符,以便有效地读取字符,数组和行
最后
在面试前我整理归纳了一些面试学习资料,文中结合我的朋友同学面试美团滴滴这类大厂的资料及案例
由于篇幅限制,文档的详解资料太全面,细节内容太多,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!
大家看完有什么不懂的可以在下方留言讨论也可以关注。
觉得文章对你有帮助的话记得关注我点个赞支持一下!
1721169415291)]
[外链图片转存中…(img-0WDKpxMI-1721169415292)]
由于篇幅限制,文档的详解资料太全面,细节内容太多,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!
大家看完有什么不懂的可以在下方留言讨论也可以关注。
觉得文章对你有帮助的话记得关注我点个赞支持一下!