Java之IO-字节流
FileInputStream
该流用于从文件读取数据,它的对象可以用关键字 new 来创建。有多种构造方法可用来创建对象,主要是读取字节的。
可以使用字符串类型的文件名来创建一个输入流对象来读取文件。
InputStream f = new FileInputStream("C:/java/1.txt");
也可以使用一个文件对象来创建一个输入流对象来读取文件。我们首先得使用 File() 方法来创建一个文件对象
File f = new File("C:/java/1.txt");
FileInputStream out = new FileInputStream(f);
所有方法:
下面介绍几个常用方法:
public void read() throws IOException{}
public int read(int r)throws IOException{}
read(byte[] b, int off, int len) throws IOException{}
值得一提的native方法
上面核心方法中为什么实现简单,因为工作量都在native方法里面,即JVM里面实现了。native 倒是不少,一一列举吧:
native void open(String name) // 打开文件,为了下一步读取文件内容
native int read0() // 从文件输入流中读取一个字节
native int readBytes(byte b[], int off, int len) // 从文件输入流中读取,从off句柄开始的len个字节,并存储至b字节数组内。
native void close0() // 关闭该文件输入流及涉及的资源,比如说如果该文件输入流的FileChannel对被获取后,需要对FileChannel进行close。
其它还有值得一提的就是,在jdk1.4中,新增了NIO(关于NIO后续再进阶中再讲述)包,优化了一些IO处理的速度,所以在FileInputStream和FileOutputStream中新增了FileChannel getChannel()的方法。即获取与该文件输入流相关的java.nio.channels.FileChannel对象。
FileOutputStream
该类用来创建一个文件并向文件中写数据。
如果该流在打开文件进行输出前,目标文件不存在,那么该流会创建该文件。
有两个构造方法可以用来创建 FileOutputStream 对象。
使用字符串类型的文件名来创建一个输出流对象:
OutputStream f = new FileOutputStream("C:/java/1.txt ")
也可以使用一个文件对象来创建一个输出流来写文件。
我们首先得使用File()方法来创建一个文件对象:
File f = new File("C:/java/hello");
OutputStream f = new FileOutputStream(f);
操作方法
介绍几个常用的方法
public void write() throws IOException{}
public int write(int r)throws IOException{}
write(byte[] b, int off, int len) throws IOException{}
还有其它的流对象基本上用法一致,基本都是成对成对的出现。
比如:
InputStream,OutputStream
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)