java中什么是字节流和字符流_java中字节流与字符流的区别是什么
字节(Byte)是进行io操作的基本数据单位,在程序进行字节数据输出时可以使用OutputStream类完成
此类定义如下:
public abstract class OutputStream
extends Object
implements Cloneable Flushable{}
在OutputStream类中实现了两个父接口 Closeable Flushable
这两个接口的定义分别如下
public interface Cloneable
extends AutoCloseable{
public void close() throws IOException;
}
public interface Flushable{
public void flush() throws IOException;
}
OutputStream定义了公共的字节输出操作,由于其定义为一个抽象类,所以需要依靠子类进行对象实例化,如果需要通过程序向文件内容进行输出 可以使用FileOutputStream子类
字符流的读写功能
/**
* 字符流写功能
* @throws IOException
*/
public static void demo4() throws IOException {
Writer writer = new FileWriter("J:/demo2.txt",true);
writer.write(123);
writer.write("一二三");
writer.write(879);
writer.flush();
writer.close();
}
/**
* 字符流读功能
* @throws IOException
*/
public static void demo5() throws IOException {
Reader reader = new FileReader("J:/demo2.txt");
System.out.println((char)reader.read());
System.out.println((char)reader.read());
int a = 0;
while((a=reader.read()) != -1) {
System.out.println((char)reader.read());
}
reader.close();
}
创建文件并写入内容
/**
* 创建文件并写入内容
*
* @throws IOException
*/
public static void demo1() throws IOException {
File file = new File("J:/demo.txt"); // 创建这个文件
OutputStream os = new FileOutputStream(file, true); // 创建流对象 最后加个true参数代表是续写不是重写,不写true的话下一次运行这个方法就是清空内容并且重写
os.write(10);// 添加内容
os.write(302);// 添加内容
os.write(11);// 添加内容
os.write("hello world".getBytes()); // 上面是添加数字类型, 这一行代表添加字符
os.close(); // 关闭流
}
两类操作流最大的区别就是在于字符流使用到了缓冲区(这样更适合进行中文数据的操作,)而字节流是字节进行数据处理操作。
java中什么是字节流和字符流_java中字节流与字符流的区别是什么相关推荐
- java 网络通讯用什么流_Java中打印流,网络通信协议,TCP通信的基础介绍
1-1.打印流 java.io.PrintStream:打印流 PrintStream 为其他输出流添加了功能,使它们能够方便地打印各种数据值表示形式. PrintStream特点: 1).只负责数据 ...
- java byte数组转化为流_java中字节数组和字符串、IO流和字节数组之间的转换
在实际开发中经常会碰到乱码问题: 首先查看系统支持的编码方式,默认的编码方式 //检查java支持的编码 System.out.println(Charset.availableCharsets(). ...
- java 写入文件流_Java实现文件写入——IO流
输入输出的重要性: 输入和输出功能是Java对程序处理数据能力的提高,Java以流的形式处理数据.流是一组有序的数据序列,根据操作的类型,分为输入流和输出流. 程序从输入流读取数据,向输出流写入数据. ...
- java jmf 视屏监控的核心代码_Java中利用JMF编写摄像头拍照程序_java
我把程序分为两种,有趣的和无趣的,最近做了几个有趣的项目,其中一个,应当就算是摄像头拍照程序了.用于现场拍照,生成照片,主要用到java Media Framework(JMF). 首先到SUN下载最 ...
- java域的控制修饰符可分为_Java中的类和方法的修饰符
java 中的类和方法的修饰符Java程序在定义类时,除了使用class关键字标识之外,还可以在class之前增加若干类的修饰符来修饰限定所定义的类的特性.类的修饰符分为访问控制符和非访问控制符两大类 ...
- java的import和python的import对比_Java中的Import和Pacakge作用生动详解(感觉python中的import作用差不多)...
转自:http://apps.hi.baidu.com/share/detail/6510541 有些人写了一阵子Java,可是对於Java的package跟import还是不太了解很多人以為原始码. ...
- java中两种遍历集合的方式_Java中Map集合的两种遍历方式
Java中的map遍历有多种方法,从最早的Iterator,到java5支持的foreach,再到java8 Lambda,让我们一起来看下Java中Map集合的两种遍历方式! 关于遍历Map集合的几 ...
- java年轻代和年老代默认比值_JAVA中的GC以及年轻代,年老代,持久代的认识
java中我们常常谈论到垃圾回收机制,那么,垃圾回收机制又是什么呢?说到JVM调优,似乎很高大上,那么JVM调的都是那些数据呢?伊甸园区,幸存区,年轻代,年老代,持久代,每个词都熟悉又陌生,似乎很深奥 ...
- java中的常量和变量是什么_java中什么是常量和变量
一.常量和变量 1.常量变量定义 在程序中存在大量的数据来代表程序的状态,其中有些数据在程序的运行过程中值会发生改变,有些数据在程序运行过程中值不能发生改变,这些数据在程序中分别被叫做变量和常量. 2 ...
最新文章
- POJ_2536_Gopher II
- “睡服”面试官系列第二十篇之generator函数的异步应用(建议收藏学习)
- lua的VS或者VC环境的搭建调试
- java 不允许默认构造_java – 如何使用ObjectMapper去除/序列化不可变对象而不使用默认构造函数?...
- html 物流状态,使用css实现物流进度的样式的实例代码
- server.xml解析
- centos7 网卡命名
- canva画图 图片居中裁剪_男士秋裤,一片式补裆款裁剪图分享给大家。天凉该给家人做秋裤啦...
- dijkstra + 优先队列(C++)
- java60秒倒计时
- 七牛判断上传图片文件是否重复
- python好学吗-非科班出身自学Python好学吗?
- 爱快最新版3.6用docker安装Jellyfin最新教程
- Squeezenet中添加OHEM层
- 职场各“族”都能成功
- 《计算机组成与CPU设计实验》5有限状态机的Verilog HDL描述(Finite State Machine,FSM)
- 【湍流】基于Matlab模拟高斯光束在湍流大气中传输仿真,得到大气湍流相位屏、以及光斑强度变化
- 详解最近公共祖先(LCA)
- 服装进销存软件哪个简单好用?
- EMC设计中的”猪尾巴效应“
热门文章
- 计算机系统结构开设学校,计算机系统结构专业介绍及考研院校排名
- 冷门的linux设备,你可能不知道的6个冷门linux实用命令
- php网站 只显示sinsiu_sinsiu_cms_1_0_10
- MySQL学习-连接查询
- Servlet规范之Listener工作原理
- MSDN 教程短片 WPF 20(绑定3-ObjectDataProvider)
- 2019.7.28关于数组和循环的八道题
- bash log传到日志服务器
- 上传文件时的后台处理
- Spring -- 入门,装备集合,自动装配,分散装配,自定义编辑器