学会Java输入输出流,看这一篇就够了,建议收藏!
【摘要】
1、流的概念
Java 语言采用流的机制来实现输入/输出。
所谓流,就是数据的有序排列。
而流可以是从某个源(称为流源,Source of Stream)出来,
到某个目的地(称为流汇 ,Sink of...
1、流的概念
Java 语言采用流的机制来实现输入/输出。
所谓流,就是数据的有序排列。
而流可以是从某个源(称为流源,Source of Stream)出来,
到某个目的地(称为流汇 ,Sink of Stream)去的。
- 1
- 2
- 3
- 4
1.1、流的分类
- 流向分:输入流、输出流
- 流源分:字符流、字节流
- 功能分:节点流、处理流
java 中统一将流的类放在 java.io 包下。
1.2、流的处理过程
用来处理流的类又叫做流处理器。
例如:Java 中可以使用 FileInputStream 从一个文件中读取数据,FileInputStream 就是一个流处理器
- 1
类似的也可以通过FileOutputStream向一个文件中写入数据。
- 1
2、常用流的使用
FileInputStream和FileOutputStream:用于读取和写入诸如图像数据之类的原始字节流
- 1
public static void main(String[] args){
try{
File oldFile=new File("D:\\SoftMgr\\img.jpg");//旧文件
File newFile=new File("D:\\SoftMgr\\new.jpg");//写入的新文件
FileInputStream in=new FileInputStream(oldFile);//用输入流读取旧文件的内容
FileOutputStream out=new FileOutputStream(newFile);//用输出流把内容写入新文件
int len=0;
//当输入流的长度不为0时,输出流持续写
while((len=in.read())!=-1){
out.write(len);
}
in.close();
out.close();
}catch(FileNotFoundException e){
e.printStackTrace();
}catch(IOException e){
e.printStackTrace();
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
ObjectInputStream和ObjectOutputStream:
对象流,ObjectOutputStream 和ObjectInputStream 分别与FileOutputStream 和FileInputStream 一起使用时,可以为应用程序提供对对象图形的持久存储。
ObjectInputStream 用于恢复那些以前序列化的对象。ObjectInputStream 对以前使用ObjectOutputStream 写入的基本数据和对象进行反序列化。
3、InputStream 和 OutputStream
4、Reader 和 Writer
5、节点流和处理流
节点流(原始流):可以从或向一个特定的地方(节点)读写数据。如FileReader.
- 1
处理流(链接流):是对一个已存在的流的连接和封装,
通过所封装的流的功能调用实现数据读写。
如BufferedReader处理流的构造方法总是要带一个其他的流对象做参数。
一个流对象经过其他流的多次包装,称为流的链接。
- 1
- 2
- 3
- 4
6、通过URL读取流
URL类:代表一个统一资源定位符,它是指向互联网“资源”的指针。
- 1
public static void main(String[] args){
try{
URL url=new URL("https://127.0.0.1:8090/SoftMgr/dzh.jpg");
InputStream in=url.openStream();
FileOutputStream out=new FileOutputStream("D:\\SoftMgr\\dyw.jpg");
int len=0;
byte[] bs=new byte[1024];
while((len=in.read(bs))!=-1){
out.write(bs,0,len);
}
out.flush();
in.close();
out.close();
}catch(Exception e){
e.printStackTrace();
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
文章来源: blog.csdn.net,作者:振华OPPO,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/qq_42257666/article/details/120752022
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)