java IO流 之 字节流与字符流
时间:2019-08-27
本文章向大家介绍java IO流 之 字节流与字符流,主要包括java IO流 之 字节流与字符流使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
其实学习了file文件基础类,后面的字节流和字符流都特别简单了,首先需要知道字节流和字符流的区别
字节流:
用来传送图片、各种文件、大文件、文本都是通过字节流进行传输的。
字符流:
只能读取文本信息
字节流操作接口类
1、InputStream 字节输入流
2、outputStream 字节输出流
3、FileinputStream 实例化字节输入流
4、FileoutputStream 实例化字节输出流
5、BufferedInputStream 加强版输入流,用于大文件传输时输入缓存
6、BufferedOutputStream 加强版输出流,用于大文件传输时输出缓存
/** * 文件copy 加强版(用的最多的) 几个G的文件也就10几秒 * * @param file 传入文件的路径 * @return */ public static boolean Read(File file) { // File file = new File("D:\\1.txt"); if (file == null || file.isFile()) { System.err.println("文件不能为空"); return false; } BufferedOutputStream bos = null; BufferedInputStream bis = null; try { bis = new BufferedInputStream(new FileInputStream(file)); // 获取文件流 bos = new BufferedOutputStream( new FileOutputStream("D:\\video\\AdminVideo\\PrivateVideo\\" + file.getName())); // 转存为... int len = 0; byte[] b = new byte[1024000]; while (-1 < (len = bis.read(b))) { bos.write(b, 0, len); } bos.flush(); System.err.println("D:\\video\\AdminVideo\\PrivateVideo\\" + file.getName()); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { try { bos.close(); bis.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } return false; } /** * 字符流 循环读取文本 * @throws IOException */ public static void file2() throws IOException { // 定义文件路径 File f = new File("d:" + File.pathSeparator + "test.txt"); // 定义字符输出流 Reader reader = new FileReader(f); int len = 0; char[] c = new char[1024]; int temp = 0; // 通过循环方式读取文件中的字符 while ((temp = reader.read()) != -1) { c[len] = (char) temp; len++; } // 关闭字符流,不然会报错 reader.close(); System.out.println("内容为:" + new String(c, 0, len)); }
实例非常简单,希望对你的学习有所帮助。又不懂得可以在评论区留言,我会尽快给您回复的
原文地址:https://www.cnblogs.com/yonim/p/9477762.html
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- [MySQL学习笔记]2. mysqldump命令详解 Part 1
- 怎样在PF_ring上使用RSS实现网络流量负载均衡
- Docker镜像原理 aufs overlay overlay2
- Zabbix 5.0 LTS 安装
- 技术博客测试: Elasticsearch
- Oracle基本参数(COMPATIBLE)
- Oracle基本参数(CONTROL_FILES)
- Oracle基本参数(DB_BLOCK_SIZE)
- Oracle基本参数(DB_CREATE_FILE_DEST,DB_CREATE_ONLINE_LOG_DEST_n)
- React16的memo函数有啥用
- 要点2:循环、条件控制
- VSCode代码格式化设置
- MapReduce之MapJoin案例
- MapReduce之多个Job串联的案例
- Java Class文件常量池