字节(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中字节流与字符流的区别是什么相关推荐

  1. java 网络通讯用什么流_Java中打印流,网络通信协议,TCP通信的基础介绍

    1-1.打印流 java.io.PrintStream:打印流 PrintStream 为其他输出流添加了功能,使它们能够方便地打印各种数据值表示形式. PrintStream特点: 1).只负责数据 ...

  2. java byte数组转化为流_java中字节数组和字符串、IO流和字节数组之间的转换

    在实际开发中经常会碰到乱码问题: 首先查看系统支持的编码方式,默认的编码方式 //检查java支持的编码 System.out.println(Charset.availableCharsets(). ...

  3. java 写入文件流_Java实现文件写入——IO流

    输入输出的重要性: 输入和输出功能是Java对程序处理数据能力的提高,Java以流的形式处理数据.流是一组有序的数据序列,根据操作的类型,分为输入流和输出流. 程序从输入流读取数据,向输出流写入数据. ...

  4. java jmf 视屏监控的核心代码_Java中利用JMF编写摄像头拍照程序_java

    我把程序分为两种,有趣的和无趣的,最近做了几个有趣的项目,其中一个,应当就算是摄像头拍照程序了.用于现场拍照,生成照片,主要用到java Media Framework(JMF). 首先到SUN下载最 ...

  5. java域的控制修饰符可分为_Java中的类和方法的修饰符

    java 中的类和方法的修饰符Java程序在定义类时,除了使用class关键字标识之外,还可以在class之前增加若干类的修饰符来修饰限定所定义的类的特性.类的修饰符分为访问控制符和非访问控制符两大类 ...

  6. java的import和python的import对比_Java中的Import和Pacakge作用生动详解(感觉python中的import作用差不多)...

    转自:http://apps.hi.baidu.com/share/detail/6510541 有些人写了一阵子Java,可是对於Java的package跟import还是不太了解很多人以為原始码. ...

  7. java中两种遍历集合的方式_Java中Map集合的两种遍历方式

    Java中的map遍历有多种方法,从最早的Iterator,到java5支持的foreach,再到java8 Lambda,让我们一起来看下Java中Map集合的两种遍历方式! 关于遍历Map集合的几 ...

  8. java年轻代和年老代默认比值_JAVA中的GC以及年轻代,年老代,持久代的认识

    java中我们常常谈论到垃圾回收机制,那么,垃圾回收机制又是什么呢?说到JVM调优,似乎很高大上,那么JVM调的都是那些数据呢?伊甸园区,幸存区,年轻代,年老代,持久代,每个词都熟悉又陌生,似乎很深奥 ...

  9. java中的常量和变量是什么_java中什么是常量和变量

    一.常量和变量 1.常量变量定义 在程序中存在大量的数据来代表程序的状态,其中有些数据在程序的运行过程中值会发生改变,有些数据在程序运行过程中值不能发生改变,这些数据在程序中分别被叫做变量和常量. 2 ...

最新文章

  1. POJ_2536_Gopher II
  2. “睡服”面试官系列第二十篇之generator函数的异步应用(建议收藏学习)
  3. lua的VS或者VC环境的搭建调试
  4. java 不允许默认构造_java – 如何使用ObjectMapper去除/序列化不可变对象而不使用默认构造函数?...
  5. html 物流状态,使用css实现物流进度的样式的实例代码
  6. server.xml解析
  7. centos7 网卡命名
  8. canva画图 图片居中裁剪_男士秋裤,一片式补裆款裁剪图分享给大家。天凉该给家人做秋裤啦...
  9. dijkstra + 优先队列(C++)
  10. java60秒倒计时
  11. 七牛判断上传图片文件是否重复
  12. python好学吗-非科班出身自学Python好学吗?
  13. 爱快最新版3.6用docker安装Jellyfin最新教程
  14. Squeezenet中添加OHEM层
  15. 职场各“族”都能成功
  16. 《计算机组成与CPU设计实验》5有限状态机的Verilog HDL描述(Finite State Machine,FSM)
  17. 【湍流】基于Matlab模拟高斯光束在湍流大气中传输仿真,得到大气湍流相位屏、以及光斑强度变化
  18. 详解最近公共祖先(LCA)
  19. 服装进销存软件哪个简单好用?
  20. EMC设计中的”猪尾巴效应“

热门文章

  1. 计算机系统结构开设学校,计算机系统结构专业介绍及考研院校排名
  2. 冷门的linux设备,你可能不知道的6个冷门linux实用命令
  3. php网站 只显示sinsiu_sinsiu_cms_1_0_10
  4. MySQL学习-连接查询
  5. Servlet规范之Listener工作原理
  6. MSDN 教程短片 WPF 20(绑定3-ObjectDataProvider)
  7. 2019.7.28关于数组和循环的八道题
  8. bash log传到日志服务器
  9. 上传文件时的后台处理
  10. Spring -- 入门,装备集合,自动装配,分散装配,自定义编辑器