java--字节流-(二)
【摘要】
java--字节流-(二)
一、字节流
字节流主要是操作byte(字节)的类型数据:
字节输出流:OutputStream字节输入流:InputStream
二、OutputStream常用方法
void flush() throws IOExceptio...
java--字节流-(二)
一、字节流
- 字节流主要是操作byte(字节)的类型数据:
- 字节输出流:OutputStream
- 字节输入流:InputStream
二、OutputStream常用方法
- void flush() throws IOException:清空缓冲区
- abstract void close() throws IOException:关闭输出流
- void write(int c) throws IOException:将一个字节写到输出流中。
- void write(byte[] b) throws IOException:将一个byte数组写出。
- void write(byte[] b,int off,int len) throws IOException:将字节数组从off位置开始,长度为len的字节写入到输出流中。
- 以其子类FileOutputStream来实例化OutputStream对象
- FileOutputStream(File/String file) throws FileNotFoundException创建一个向指定 File 对象表示的文件中写入数据的文件输出流。
- FileOutputStream(File/String file, boolean append) throws FileNotFoundException创建一个向指定 File 对象表示的文件中写入数据的文件输出流
OutputStream实例
-
package io;
-
-
import java.io.FileOutputStream;
-
import java.io.IOException;
-
import java.io.OutputStream;
-
-
public class OutputStreamDemo {
-
public static void main(String[] args) throws IOException {
-
-
//1.找到流的目标
-
String filename = "stream.txt";
-
-
//2. 创建输出流的管道,并连接上目标l,os就是输出管道
-
OutputStream os = new FileOutputStream(filename,true);
-
-
//3. 输出操作
-
-
os.write('\n');
-
for (int i =65; i < 91; i++) {
-
os.write(i);
-
}
-
-
-
String data = "cditcast";//程序提供的数据
-
-
byte[] b= data.getBytes();//得到字节类型的数据
-
-
os.write(b);
-
-
os.write('\n');
-
os.write(b,2,2);//得到 "cditcast"的 "it"
-
-
//4. 关闭操作
-
os.close();//字节流没有使用缓冲区,
-
-
}
-
}
三、InputStream常用方法
- int available() throws IOException:文件大小
- abstract void close() throws IOException:关闭流
- int read() throws IOException:从输入流中读取单个字节,返回该字节。
- int read(byte[] b) throws IOException:从输入流中读取b.length个字节存储在字节数组b中,返回实际读取的字节数。
- 直到read(byte[] b)方法返回-1表示输入流的结束。
- 以其子类FileInputStream来实例化InputStream对象
- FileInputStream(File/String file) throws FileNotFoundException 创建一个向指定 File 对象表示的文件中写入数据的文件输出流。
InputStream实例
-
package io;
-
-
import java.io.File;
-
import java.io.FileInputStream;
-
import java.io.IOException;
-
import java.io.InputStream;
-
-
public class InputStreamDemo {
-
public static void main(String[] args) throws IOException {
-
-
//1,找到 数据源
-
File src = new File("day21.txt");
-
-
//2. 创建输入流的管道,并和源连接上
-
-
InputStream is = new FileInputStream(src);
-
-
//3. 读取操作
-
-
-
/*for (int i = 0; i < 100; i++) {
-
System.out.println((char)is.read());
-
}*/
-
-
//存储读入数据的缓冲区
-
byte[] buff = new byte[1024];//定义一个1024个字节的缓冲区
-
-
int len = 0;//表示这一次,读了多个各字节, 若len == -1表示读完了
-
while((len= is.read(buff)) != -1){
-
//String(byte[] bytes, int offset, int length) 构造一个新的 String。
-
-
//去缓冲区获取数据
-
String data = new String(buff,0,len);
-
System.out.println(data);
-
System.out.println("========================================");
-
}
-
-
//4.关闭操作
-
is.close();
-
}
-
}
文章来源: brucelong.blog.csdn.net,作者:Bruce小鬼,版权归原作者所有,如需转载,请联系作者。
原文链接:brucelong.blog.csdn.net/article/details/80048292
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)