我是靠谱客的博主 腼腆绿茶,最近开发中收集的这篇文章主要介绍文件输入(FileInputStream)、输出(OutputStream)流操作1、InputStream2、OutputStream,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
1、InputStream
1、InputStream
InputStream
就是Java标准库提供的最基本的输入流的抽象类
通过read()方法进行读取字节值
public abstract int read() throws IOException;
2、FileInputStream用于操作文件的IO类,是InputStream
的子类,通过read()方法读取,直到返回-1
public void readInputStreamFile() throws IOException {
try (InputStream in = new FileInputStream("demo.txt");){
int n;
// 利用while同时读取并判断
while ((n = in.read()) != -1) {
System.out.println(n);
}
}
}
//注意此时try(obj)会自动调用close方法,如果是try{}需要调用in.close()关闭流
3、缓存
将读取的字节存入缓冲区,进行高效的读取。
int read(byte[] b)
:读取若干字节并填充到byte[]
数组,返回读取的字节数
int read(byte[] b, int off, int len)
:指定byte[]
数组的偏移量和最大填充数
public void readInputStreamFile() throws IOException {
try (InputStream in = new FileInputStream("demo.txt");){
int n;
// 定义1024个字节大小的缓冲区:
byte[] buffer = new byte[1024];
// 利用while同时读取并判断
while ((n = in.read(buffer)) != -1) {
System.out.println(n);
}
}
}
2、OutputStream
1、OutputStream
OutputStream
就是Java标准库提供的最基本的输出流的抽象类
通过write()方法将字节字写入到输出流
public abstract void write(int b) throws IOException;
OutputStream也有byte[]
做缓存和一个flush()
方法,该方法用于强制把缓冲区内容输出,通常情况下,我们不需要调用这个flush()
方法,因为缓冲区写满了OutputStream
数据或者调用close()
方法前会调用该方法。
2、FileOutputStream
对文件进行写入操作
public void outputStreamFile() throws IOException {
try (OutputStream output = new FileOutputStream("demo.txt")) {
// 单个字符写入
output.write(72); // H
output.write(101); // e
output.write(108); // l
output.write(108); // l
output.write(111); // o
output.close();
// 此方法一个个字节写入过于麻烦,可以利用getBytes()方法将字符串转为字节再进行操作
String str = "hello";
output.write(str.getBytes("UTF-8")); // hello
}
}
最后
以上就是腼腆绿茶为你收集整理的文件输入(FileInputStream)、输出(OutputStream)流操作1、InputStream2、OutputStream的全部内容,希望文章能够帮你解决文件输入(FileInputStream)、输出(OutputStream)流操作1、InputStream2、OutputStream所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复