字节和字符输入输出流:

1、字节

输出流:超类OutputStream,对文件的输出流使用子类FileOutputStream,用来写入

输入流:超类InputStrean,对文件的输入流使用子类FileInputStream,用来读取

代码演示:

字节输出流:将文字写入到对应lili.txt文件上

public class Test3 {public static void main(String[] args) {out();}private static void out() {//输入位置File f1 = new File("E:\\idea_workspace3\\yangli\\class_obj\\src\\com\\lili\\file\\lili.txt");try {OutputStream out = new FileOutputStream(f1, true);//append 为true表示追加内容//内容写到文件out.write("小河流水哗啦啦".getBytes());// 关闭流out.close();} catch (IOException e) {e.printStackTrace();}}
}

字节输入流:读取lili.txt上的文字:

public class Test3 {public static void main(String[] args) {input();}private static void input() {File f1 = new File("E:\\idea_workspace3\\yangli\\class_obj\\src\\com\\lili\\file\\lili.txt");try {InputStream input = new FileInputStream(f1);byte[] bytes = new byte[1024];StringBuilder stringBuilder = new StringBuilder();int len = -1;while ((len = input.read(bytes)) != -1) {stringBuilder.append(new String(bytes, 0, len));}System.out.println(stringBuilder);input.close();} catch (IOException e) {e.printStackTrace();}}
}

1、字符

字符输出流:Writer,对文件的操作使用子类:FileWriter

字符输入流:Reader,对文件的操作使用子类:FileReader

每次操作的都是一个字符,一般用于读取或写入文字

代码演示:

字符输出流:将文字写入到对应lili.txt文件上

public class Test4 {public static void main(String[] args){out();}private static void out(){File f1 = new File("E:\\idea_workspace3\\yangli\\class_obj\\src\\com\\lili\\file\\lili.txt");try {Writer out = new FileWriter(f1,true);out.write("我是字符输出流");out.close();} catch (IOException e) {e.printStackTrace();}}
}

字符输入流:读取lili.txt上的文字:

public class Test4 {public static void main(String[] args){input();}private static void input(){File f1 = new File("E:\\idea_workspace3\\yangli\\class_obj\\src\\com\\lili\\file\\lili.txt");try {Reader input = new FileReader(f1);char[] chars = new char[1];StringBuilder builder = new StringBuilder();int len = -1;while((len = input.read(chars))!=-1){builder.append(new String(chars,0,len));}input.close();System.out.println(builder);} catch (IOException e) {e.printStackTrace();}}
}

案例:复制一张图片到桌面上:

分析:图片传输,我们应该使用字节输入输出流,读取后再输出到桌面上即可

代码实现

public class Test5 {public static void main(String[] args) {// 将哪里的文件复制到哪里去copy("C:\\Users\\qijingjing\\Pictures\\Saved Pictures\\wife\\m5.jpg", "C:\\Users\\qijingjing\\Desktop\\m5.jpg");}private static void copy(String str, String target) {// 需要被复制的文件File file1 = new File(str);// 复制文件到何地File file2 = new File(target);InputStream in = null;OutputStream out = null;try {// 创建一个输入流in = new FileInputStream(file1);// 创建一个输出流out = new FileOutputStream(file2);byte[] bytes = new byte[1024];int len = -1;while ((len = in.read(bytes)) != -1) {// 输入out.write(bytes, 0, len);}} catch (IOException e) {e.printStackTrace();} finally {if (in != null) {try {// 关闭流in.close();} catch (IOException e) {e.printStackTrace();}}if (out != null) {try {// 关闭流out.close();} catch (IOException e) {e.printStackTrace();}}}}
}

字节、字符输入输出流相关推荐

  1. File类,字节字符输入输出流,缓冲流,标准流,对象序列化流

    一,File文件类 1 File类创建功能:    public boolean createNewFiLe():当具有该名称的文件不存在时,创建一个由该抽象路径名命名的新空文件       如果文件 ...

  2. java管道流文件的复制_JavaIO 总结笔记三 基本字节字符输入输出流和文件复制...

    一.IO体系 1.流主要分两大类:字节流 字符流 2.在硬盘上的文件,都是以二进制字节形式存储的,所以不管啥文件,读写时都应该用字节流 3.在java的早期版本中,的确只有字节流,没有字符流 4.一个 ...

  3. java字节输入与字符输入_Java中的字节输入出流和字符输入输出流

    Java中的字节输入出流和字符输入输出流 下面哪个流类属于面向字符的输入流( ) A BufferedWriter B FileInputStream C ObjectInputStream D In ...

  4. 字节输入输出流,字符输入输出流

    IO流按功能分为节点流 处理流 节点流:可以从或向一个特定的地方读写字节数据: 处理流:对一个已经存在的流的连接和封装,通过所封装的流的功能调用实现数据重写. 1.字节输入流InputStream, ...

  5. Java中的字节输入出流和字符输入输出流

    Java中的字节输入出流和字符输入输出流 下面哪个流类属于面向字符的输入流( ) A BufferedWriter  B FileInputStream  C ObjectInputStream  D ...

  6. java io字符输出流_Java字符输入输出流

    Java字符输入输出流 InputStreamReader可以把字节流,以指定的编码转换为字符流. OutputStreamWriter可以把字符流以指定的编码转换为字节流. 这两个类采用了适配器设计 ...

  7. 唠唠SE的IO-03——字符输入输出流

    2019独角兽企业重金招聘Python工程师标准>>> 3. 字符输入输出流 转换流其实是一个字符流 字符流 = 字节流 + 编码表 最基本的字符输入输出流: Reader和Writ ...

  8. Java I/O流——面向字符输入/输出流(超详细)

    目录 前言 字符编码 面向字符输入/输出流类 转换流 转换输入流(InputStreamReader)类 转换输入流(InputStreamReader)类实例 转换输出流(OutputStreamW ...

  9. JAVA— 字符输入输出流练习

    1.向D盘根目录的word.txt文件中写入古诗<春晓>的全文 注意:如果要输入的字节较多的话,建议使用字符输入输出流,(1个字符=2x字节) import java.io.*;publi ...

  10. 1.6 Java字节流的使用:字节输入/输出流、文件输入/输出流、字节数组输入/输出流

    InputStream 是 Java 所有字节输入流类的父类, OutputStream 是 Java 所有字节输出流类的父类, 它们都是一个抽象类,因此继承它们的子类要重新定义父类中的抽象方法. 下 ...

最新文章

  1. 2_Python实现基于人脸特征的美颜算法(20181224)
  2. bootstrap学习网站
  3. php 高级特性,PHP对象、模式与实践之高级特性分析
  4. Oracle工具之--ASM与文件系统及跨网络传输文件
  5. 三分钟带你掌握 CSS3 的新属性
  6. SQL*Plus命令
  7. FirefoxOS 1.2 on ZTE Open
  8. 欠拟合和过拟合以及如何选择模型
  9. 又一例两块硬盘离线的数据恢复成功案例
  10. Android 单元测试cmd 命令集
  11. 计算机游戏41,Win7玩游戏提示“无法启动此程序,计算机中丢失d3dx9-41.dll”怎么办...
  12. HTML+CSS系列实战之表格
  13. 2019级第二次月赛暨软件计科联合新生赛题解
  14. 腾讯金融级数据库TDSQL的架构与应用
  15. vue 视频播放插件VideoPlayer
  16. c语言合法标识符号大全,C语言合法标识符
  17. python gil全局锁_什么是Python全局解释器锁(GIL)?
  18. 中概股最快IPO:瑞幸咖啡成立两年后上市,市值47亿美元
  19. 初始化 Microsoft Visual SourceSafe 源代码管理提供程序时失败问题处理
  20. 北上广深之外,互联网经济也在杭州成都西安武汉异军突起

热门文章

  1. 重新编译PHP加载PDO模块
  2. POJ1159 Palindrome(dp)
  3. spring源码 第二个后置处理器方法的使用-推断构造函数
  4. 小程序wx.showActionSheet 调起转发、分享
  5. Flask 下载中文名文件
  6. Java中使用正则表达式校验字符串
  7. ASP.NET MVC 2 正式发布
  8. LINUX 游戏服务器之旅1_SSH连接
  9. 动态内存分配(c++)
  10. 【笔记】android 系统常用user id列表