JAVA-IO操作,字节-字符转换流】的更多相关文章

因为工作事宜,又有一段时间没有写博客了,趁着今天不是很忙开始IO之路:IO往往是我们忽略但是却又非常重要的部分,在这个讲究人机交互体验的年代,IO问题渐渐成了核心问题. 一.File类 在讲解File类之前,我们先认识和了解一下流的概念:流的概念可能比较抽象,可以想象一下水流的样子. 1.流 IO在本质上是单个字节的移动,而流可以说是字节移动的载体和方式,它不停的向目标处移动数据,我们要做的就是根据流的方向从流中读取数据或者向流中写入数据. 想象下倒水的场景:倒一杯水,水是连成一片往地上流动,而…
掌握OutputStreamWriter和InputStreamReader类的作用 一般操作输入输出内容的时候,就需要使用字节或字符流,但是,有些时候,需要将字符流变成字节流形式,或者字节流变成字符流形式. 所以,就需要另一种转换流的操作类. OutputStreamWriter:是Writer的子类.将输出的字符流变成字节流:即将字符流的输入对象变成字节流输入对象. InputStreamReader:是Reader的子类.将输入的字节流变成字符流,即将一个字节流的输入对象变成字符流输入对象…
private static void StringWriterAndReader() throws Exception { //字符串流(字符串的内存流) //字符串输入流 StringWriter sWriter=new StringWriter(); sWriter.write("文档在手,天下我有!"); sWriter.write("吃得苦中苦,方为人上人!"); // System.out.println(sWriter.toString()); //字…
OutputStreamWriter:把字节输出流对象转成字符输出流对象 InputStreamReader:把字节输入流对象转成字符输入流对象 FileWriter和FileReader分别是OutputStreamWriter和InputStreamReader的直接子类,而不是Writer和Reader的直接子类,区别于FileInputStream 和InputStream. 我的总结:无论使用字节流还是字符流实际上在内存中最终都是通过字节的形式来操作流的. 所以并没有字符流转换字节流.…
字节流与字符流的区别 在所有的流操作里,字节永远是最基础的.任何基于字节的操作都是正确的.无论是文本文件还是二进制的文件. 如果确认流里面只有可打印的字符,包括英文的和各种国家的文字,也包括中文,那么可以考虑字符流.由于编码不同,多字节的字符可能占用多个字节.比如GBK的汉字就占用2个字节,而UTF-8的汉字就占用3个字节.所以,字符流是根据指定的编码,将1个或多个字节转化为java里面的unicode的字符,然后进行操作.字符操作一般使用Writer,Reader等,字节操作一般都是Input…
计算机都是以二进制码格式存储文件的,但是在读写文件的过程中,每个应用程序都有自己的编码格式.FileWrite和FileRead类是通过查询系统默认码表进行读写的,因此在自己的系统上能够实现编码的智能化.但是在进行程序开发的时候,我们需要统一用户交互的编码,这个时候,就需要用到字符转换流了,FileWrite和FileRead类就不够用了 一.OutputStreamWriter 1.构造方法 OutputStreamWriter(OutputStream out) OutputStreamWr…
package seday07; import java.io.IOException;import java.io.PrintWriter; /*** @author xingsir * 缓冲字符流 * java.io.BufferedWriter * java.io.BufferedReader * 缓冲字符流内部有缓冲区,读写字符效率高.并可按行读写字符串. * 但是比较常用的缓冲字符输出流为:PrintWriter,它内部链接 * BufferedWriter作为其缓冲加速,而它自身有提…
Java IO(Properties/对象序列化/打印流/commons-io) Properties Properties 类表示了一个持久的属性集.Properties 可保存在流中或从流中加载.属性列表中每个键及其对应值都是一个字符串 主要方法 setProperty等同与Map接口中的put , setProperty(String key, String value) 通过键获取值, getProperty(String key) load() 加载配置文件, 加载完毕以后可以通过 g…
InputStreamReader 字符转换流 * import java.io.InputStreamReader; 将字节输入流转换为字符输入流 * import java.io.OutputStreamWriter; 将字节输出流转换为字符输出流 * 代码: import com.shige.OOP.Inherit.B; import com.shige.foundation.While.WhileDemo_01; import java.io.*; import java.util.co…
Java中的字节输入出流和字符输入输出流 以下哪个流类属于面向字符的输入流( ) A BufferedWriter B FileInputStream C ObjectInputStream D InputStreamReader 解析:IO流(1)字节输入流        基类:InputStream        FileInputStream.ByteArrayInputStream.PipedInputStream.BufferedInputStream.ObjectInputStrea…
java(IO)读写文件乱码转换UTF-8问题 读取文件 String Content = ""; // 文件很长的话建议使用StringBuffer try { FileInputStream fs=new FileInputStream("文件录取"); InputStreamReader isr = new InputStreamReader(fis, "UTF-8"); BufferedReader br = new BufferedRe…
一.概念 ------->1.BufferedReader/BufferedWriter [参考19.03.31文章] *Reader/Writer-------->2.InputStreamReader/ OutputStreamWriter(转换流,实现字节转字符)--->2-1:FileReader和FileWriter(文件字符类[19.03.31文章]) [代码示例] /**字符流相关 * 2.InputStreamReader/ OutputStreamWriter(转换流,…
首先我们先来了解一些IO流基本知识. 一,基本知识概括 具体的IO流有很多种,针对不同的应用场景应该使用相应的流对象.但怎么确定应该使用哪个IO流对象呢? 一般要有四个明确: 1)明确源和目的 源:InputStream Reader 目的: OutputStream Writer 2)明确是否纯文本数据(Reader和Writer只能处理纯文本数据) 源:是:Reader 否:InputStream 目的:是:Writer 否:OutputStream 3)明确具体的设备 源: a.硬盘 Fi…
文章出自:听云博客 题主将以三个章节的篇幅来讲解JAVA IO的内容 . 第一节JAVA IO包的框架体系和源码分析,第二节,序列化反序列化和IO的设计模块,第三节异步IO. 本文是第一节.       IO框架 从上图我们可以看出IO可以分为两大块 字节流和字符流 字节流是 InputStream 和 OutputStream 分别对应输入与输出 字符流是Reader和Writer分别对应输入与输出        ByteArrayInputStream  它字节数组输入流.继承于InputS…
概述 IO流用来处理设备之间的数据传输 Java对数据的操作时通过流的方式 Java用于操作流的对象都在IO包中 流按操作的数据分为:字节流和字符流 流按流向不同分为:输入流和输出流 IO流常用基类 字节流的抽象基类 InputStream,OuputStream 字符流的抽象基类 Reader,Writer 注: 这些基类的子类都是以基类的名称结尾的,如FileReader,FileInputStream 字节流 字节流:以字符为导向的流 简单介绍一个例子,演示字节流对图片的复制 1: imp…
1. 什么是流 Java中的流是对字节序列的抽象,我们可以想象有一个水管,只不过现在流动在水管中的不再是水,而是字节序列.和水流一样,Java中的流也具有一个“流动的方向”,通常可以从中读入一个字节序列的对象被称为输入流:能够向其写入一个字节序列的对象被称为输出流. 2. 字节流 Java中的字节流处理的最基本单位为单个字节,它通常用来处理二进制数据.Java中最基本的两个字节流类是InputStream和OutputStream,它们分别代表了一组基本的输入字节流和输出字节流.InputStr…
*/ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hljs-comment, .hljs-template_comment, .diff .hljs-header, .hljs-javadoc { color: #998; font-style: italic; } .hljs-keyword, .css .rule .hljs-keyword, .h…
学习目标  掌握DataOutputStream和DataInputStream的作用 可以使用DataOutputStream和DataInputStream写入和读入数据 数据操作流 在io包中,提供了两个与平台无关的数据操作流: 数据输出流(DataOutputStream) 数据输入流 (DataInputStream) 通常数据输出流会按照一定的格式将数据输出,再通过数据输入流按照一定的格式将数据读入. 例如:有如下的订单数据 如果要想使用数据操作流,则肯定要由用户自己制定数据的保存格…
掌握DataOutputStream和DataInputStream的作用. 可以使用DataOutputStream和DataInputStream写入和读取数据. 在IO包中提供了两个与平台无关的数据操作流 数据输出流:DataOutputStream 数据输入流:DataInputStream 通常按照一定格式将输入输出,再按照一定格式将数据输入. 要想使用数据输出流和输入流,则肯定要用户指定数据的保存格式.必须按指定的格式保存数据,才可以将数据输入流将数据读取进来. DataOutput…
Java的IO流分为字符流(Reader,Writer)和字节流(InputStream,OutputStream),字节流顾名思义字节流就是将文件的内容读取到字节数组,然后再输出到另一个文件中.而字符流操作的最小单位则是字符.可以先看一下IO流的概述: 下面首先是通过字符流对文件进行读取和写入: 1 package lib; 2 3 import java.io.BufferedReader; 4 import java.io.File; 5 import java.io.FileNotFou…
概述 缓冲流,也叫高效流,是对4个基本的 FileXxx 流的增强,所以也是4个流,按照数据类型分类: 字节缓冲流: BufferedInputStream , BufferedOutputStream 字符缓冲流: BufferedReader , BufferedWriter 缓冲流的基本原理及好处 是在创建流对象时,会创建一个内置的默认大小的缓冲区数组,通过缓冲区读写,减少系统IO次数,从而提高读写的效率. BufferedOutputStream 字节缓冲输出流 java.io.Buff…
package cn.sasa.demo4; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; public class OutputStreamWriterDemo { public static void main(Str…
一.JAVA I/O 输入输出流 1:编码问题 2:File类的使用 3:RandomAccessFile的使用 4:字节流的使用 5:字符流的使用 6:对象的序列化和反序列化 2: file类的使用. java.io.file类用于表示文件(目录) File类只用于表示文件(目录)的信息(名称,大小等),不能用于文件内容的访问. 3:RandomAccessFile的使用 RandomAccessFile java 提供的对文件内容的访问,既可以读文件,也可以写文件. RandomAccess…
java.io使用了适配器模式装饰模式等设计模式来解决字符流的套接和输入输出问题. 字节流只能一次处理一个字节,为了更方便的操作数据,便加入了套接流. 问题引入:缓冲流为什么比普通的文件字节流效率高? 不带缓冲的操作,每读一个字节就要写入一个字节. 由于涉及磁盘的IO操作相比内存的操作要慢很多,所以不带缓冲的流效率很低. 带缓冲的流,可以一次读很多字节,但不向磁盘中写入,只是先放到内存里. 等凑够了缓冲区大小的时候一次性写入磁盘,这种方式可以减少磁盘操作次数,速度就会提高很多! 这就是两者的区别…
转换流:字符流和字节流之间的桥梁 用于处理程序的编码问题 OutputStreamWriter类:字符转字节流 写文本文件: package demo; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStreamWriter; public class Demo { public static void main(String[] args) throws IOException…
输入字节流的转换流:InputStreamReader 是字节流通向字符流的桥梁. 输出字节流的转换流:OutputStreamWriter  可以把输出字节流转换成输出字符流 .  是符流通向字节流的桥梁. 转换流的作用:    1. 如果目前所获取到的是一个字节流需要转换字符流使用,这时候就可以使用转换流.  字节流----> 字符流    2. 使用转换流可以指定编码表进行读写文件. 输入字节流InputStreamReader常用构造方法 InputStreamReader(InputS…
转自:http://www.cnblogs.com/jyan/articles/2505791.html Johnny Yan的博客 1 InputStream类型 InputStream的作用是标志那些从不同的数据源产生输入的类,这些源包括:字节数组,String对象,文件,管道,一系列其他流. ByteArrayInputStream允许内存中的一个缓冲区作为InputStream使用 StringInputStream将一个字符串转化为一个InputStream FileInputStre…
一.根据流向分为输入流和输出流: 注意输入流和输出流是相对于程序而言的. 输出:把程序(内存)中的内容输出到磁盘.光盘等存储设备中      输入:读取外部数据(磁盘.光盘等存储设备的数据)到程序(内存)中 综合起来: 二.根据传输数据单位分为字节流和字符流 上面的也是 Java IO流中的四大基流.这四大基流都是抽象类,其他流都是继承于这四大基流的. 三.根据功能分为节点流和包装流 节点流:可以从或向一个特定的地方(节点)读写数据.如FileReader. 处理流:是对一个已存在的流的连接和封…
1.四种类型: 字节流: InputStream OutputStream 字符流: Reader Writer 2.转换流 InputStreamReader, OutPutStreamWriter 3.对象流 ObjectInputStream ObjectOutputSream 4.字节数组流 ByteArrayInputStream ByteArrayOutputStream…
合并流:把两个文件合并在一起. 主要操作的是内容. 定义: public class SequenceInputStreamextends InputStream 方法摘要: 操作步骤: 1,分别建立两个FileInputStream实例对象,用于输出指定两个文件. 2,建立一个FileOutputStream实例,用于合并写入两个文件. 2,通过SequenceInputStream类,把两个文件的内容合并起来,放到这个类实例流中. 3,把SequenceInputStream实例的内容读取出…