Java流对象:InputStream、OutputStream、Reader、Writer

Java流对象:InputStream、OutputStream、Reader、Writer

大家好,又见面了,我是全栈君。

流对象使用完一般要用close方法关闭。释放资源。

InputStream 和OutPutStream

二者都是字节输入和输出的抽象父类,子字节为单位处理数据,每次读取、写入一个字节,适合处理二进制文件,如:音频、视频、图片等。

Redaer和writer是字符输入输出的抽象父类,以字符为单位处理数据,每次读取或写入一个字符,适合处理文本文件,实现类有FileReader和FileWriter.

 附:Java代码实现图片文件的拷贝:

package com.buaa.comparable;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

public class testCopy {

public static void main(String[] args) {

copy();
}

static void copy(){

//1.创建数据源文件
File file = new File(“e:\\picture1.jpg”);
InputStream is = null;
File file1 = null;

OutputStream os = null;

try {

//搭建输入流管道
is = new FileInputStream(file);
//3.创建目的文件;
file1 = new File(“e:\\picture2.jpg”);
//4.搭建输出流管道
os = new FileOutputStream(file1);
int b = 0;

//每次从源文件读出一个字节,就像目标文件写入一个字节
while((b=is.read())!=-1){

os.write(b);
}

} catch (FileNotFoundException e) {

// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {

// TODO Auto-generated catch block
e.printStackTrace();
}finally{

try {

if(os!=null){

os.close();
}else if (is!=null) {

is.close();
}
} catch (IOException e) {

// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}

 

转载于:https://www.cnblogs.com/7758521gorden/p/8046675.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/107822.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • python中bool()函数

    python中bool()函数python中bool()函数

    2022年5月29日
    44
  • 微商分销系统怎么做?[通俗易懂]

    微商分销系统怎么做?[通俗易懂]当下微商有多“火”?相信各位朋友们都很清楚,不管个户还是企业都纷纷加入这个行列,然而许多企业受困于不懂推广,形成产品销售不出的局面。那么这个问题应该怎么解决呢?此时分销悄然而至。当然,企业想要对产品展开分销,首先网站商城得具备分销功能。企业想要建立一个具备分销功能的商城分销网站?那么,微商分销…

    2022年5月17日
    32
  • element 输入框点击事件_ElementUI的input事件问题

    element 输入框点击事件_ElementUI的input事件问题最近用ElementUI的el-input组件,然后发现一个问题,就是我在输入框后,加一个icon的button,然后我希望这个输入框可以触发两个事件,第一个是,输入完,按键盘回车键的事件,第二个是,输入完,点icon的button的click事件。然后翻阅文档,发现可以给input加@change事件,这样按回车可以搜索,然后可以把icon的button写成slot的方式然后给button加@c…

    2022年4月30日
    657
  • MySQL + PostgreSQL批量插入更新insertOrUpdate[通俗易懂]

    MySQL + PostgreSQL批量插入更新insertOrUpdate[通俗易懂]????周周有福利,周周有惊喜哪吒社区-风火轮计划????Java学习路线配套文章:Java学习路线总结,搬砖工逆袭Java架构师(全网最强)????Java经典面试题大全:10万字208道Java经典面试题总结(附答案)????简介:Java领域优质创作者????、CSDN哪吒公众号作者✌、Java架构师奋斗者????????扫描主页左侧二维码,加入群聊,一起学习、一起进步????欢迎点赞????收藏⭐留言????这里写目录标题一、百度百科1、MySQL2、Pos

    2022年7月27日
    3
  • 另一个视角解读计算机编码-补码编码

    另一个视角解读计算机编码-补码编码

    2022年3月11日
    40
  • 中位数和众数的定义_众数是什么意思中位数又是什么意思

    中位数和众数的定义_众数是什么意思中位数又是什么意思在初中数学课本中,我们学习了平均数,但是平均数与中位数、众数有是关系呐,下面我就为大家总结一下:平均数:是指在一组数据中所有数据之和再除以数据的个数。平均数是表示一组数据集中趋势的量数,它是反映数据集中趋势的一项指标。解答平均数应用题的关键在于确定“总数量”以及和总数量对应的总份数。在统计工作中,平均数(均值)和标准差是描述数据资料集中趋势和离散程度的两个最重要的测度值。平均数的分类:(1)算术平…

    2022年9月17日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号