字符流,字节流,属性集(Properties)】的更多相关文章

字节输入流(InputStream) java.io.InputStream抽象类是表示字节输入流的所有类的超类.可以读取字节信息到内存中.它定义了字节输入流的基本共性功能方法. public void close:关闭此输入流并释放与此流相关联的任何系统资源. public abstract int read():从输入流读取数据的下一个字节. public int read(byte[] b):从输入流中读取一些字节数,并将他们存储到字节数组b中. 注意: close方法,当完成流的操作时,…
Properties 类的介绍 Properties 类表示了一个持久的属性集.Properties 可保存在流中或从流中加载.属性列表中每个键及其对应值都是一个字符串.一个属性列表可包含另一个属性列表作为它的“默认值”:如果未能在原有的属性列表中搜索到属性键,则搜索第二个属性列表.因为 Properties 继承于 Hashtable,所以可对 Properties 对象应用 put 和 putAll 方法.但不建议使用这两个方法,因为它们允许调用者插入其键或值不是 String 的项.相反,…
5.1 概述 java.util.Properties 继承于 Hashtable ,来表示一个持久的属性集.它使用键值结构存储数据,每个键及其对应值都是一个字符串.该类也被许多Java类使用,比如获取系统属性时,System.getProperties 方法就是返回一个Properties对象. 5.2 Properties类 构造方法 public Properties() :创建一个空的属性列表. 基本的存储方法 public Object setProperty(String key,…
字符流 计算机并不区分二进制文件与文本文件.所有的文件都是以二进制形式来存储的,因此, 从本质上说,所有的文件都是二进制文件.所以字符流是建立在字节流之上的,它能够提供字符 层次的编码和解码.列如,在写入一个字符时,Java虚拟机会将字符转为文件指定的编码(默认 是系统默认编码),在读取字符时,再将文件指定的编码转化为字符. 常见的码表如下: ASCII:           美国标准信息交换码.用一个字节的7位可以表示. ISO8859-1:   拉丁码表.欧洲码表,用一个字节的8位表示.又称…
java对文本文档进行操作(拷贝.显示)出现乱码一般来说,可以从两个方面入手. 1.文本文件本身的编码格式. 2.java代码中处理文本文件的编码格式. 这里要注意的一点是,我们可以看出copyFileByByte方法和copyFileByChar1方法都是没有办法设置目的文件的编码格式的,并且处理不好都可能出现乱码,但是需要明确一点的是,copyFileByByte方法拷贝的文件即便出现乱码也可以通过另存为其他格式来调整消除乱码,同样的操作在copyFileByChar1方法拷贝生成的源文件是…
1.File类 File类可以在程序中 操作文件和目录.File类是通过建立File类对象,在调用File类的对象来进行相关操作的. 示例: public class Demo01 { public static void main(String[] args) { File f = new File("f:/我的歌声里.txt"); //访问文件名相关 String name = f.getName(); System.out.println("文件名:" + n…
文章出自:听云博客 题主将以三个章节的篇幅来讲解JAVA IO的内容 . 第一节JAVA IO包的框架体系和源码分析,第二节,序列化反序列化和IO的设计模块,第三节异步IO. 本文是第一节.       IO框架 从上图我们可以看出IO可以分为两大块 字节流和字符流 字节流是 InputStream 和 OutputStream 分别对应输入与输出 字符流是Reader和Writer分别对应输入与输出        ByteArrayInputStream  它字节数组输入流.继承于InputS…
java.io中流的操作:字节流.字符流(1)使用File类打开一个文件(2)通过字节流或字符流的子类指定输出的位置(3)进行读/写操作(4)关闭输入/输出 1.字节流:主要是byte类型数据,以byte数组为准 输出数据:OutputStream类:字节输出流最大父类输入数据:InputStream类 (1) //第一步:使用File类打开电脑中的一个文档,文件不存在会自动创建 File f = new File("文件路径"); //第二步:通过字节流或字符流的子类指定输出的位置…
字节流与字符流 字节流可以处理所有类型的数据(图片.视频等),在java中对应的类都为“stream”结尾 1字节=8位二进制=具体存储空间   字符流仅能处理纯文本的数据,在java中对应的类都是以“reader”或者“writer”结尾 如汉字,符号等     import org.junit.Test; public class IOTest { /** * BufferedInputStream BufferedOutputStream * 利用字节缓冲流实现文件的复制 * @throw…
因为工作事宜,又有一段时间没有写博客了,趁着今天不是很忙开始IO之路:IO往往是我们忽略但是却又非常重要的部分,在这个讲究人机交互体验的年代,IO问题渐渐成了核心问题. 一.File类 在讲解File类之前,我们先认识和了解一下流的概念:流的概念可能比较抽象,可以想象一下水流的样子. 1.流 IO在本质上是单个字节的移动,而流可以说是字节移动的载体和方式,它不停的向目标处移动数据,我们要做的就是根据流的方向从流中读取数据或者向流中写入数据. 想象下倒水的场景:倒一杯水,水是连成一片往地上流动,而…
最近在学习Java,所以就总结一篇文件字节流和字符流的输入和输出. 总的来说,IO流分类如下: 输入输出方向:     输入流(从外设读取到内存)和输出流(从内存输出到外设) 数据的操作方式: 字节流和字符流 其中,字符流的由来:字节流读取文字字节数据后,不直接操作,而是先查指定的编码表(为什么是指定的?因为不同的国家制定的编码表不一样)获取对应的文字,再对这个文字进行操作.简单说:字符流=字节流+编码表 字节流和字符流的区别:字节流不仅可以操作字符,还可以操作其他媒体文件 来张形象的图片: J…
  File类 •文件和目录路径名的抽象表示形式 构造方法 •public File(String pathname) •public File(String parent,Stringchild) •public File(File parent,Stringchild) 创建功能 •publicboolean createNewFile() •publicboolean mkdir() •publicboolean mkdirs() 删除功能 •publicbooleandelete() 重…
1. 流的概念 流(stream)的概念源于UNIX中管道(pipe)的概念.在UNIX中,管道是一条不间断的字节流,用来实现程序或进程间的通信,或读写外围设备.外部文件等. 一个流,必有源端和目的端,它们可以是计算机内存的某些区域,也可以是磁盘文件,甚至可以是Internet上的某个URL. 流的方向是重要的,根据流的方向,流可分为两类:输入流和输出流.用户可以从输入流中读取信息,但不能写它.相反,对输出流,只能往输入流写,而不能读它. 实际上,流的源端和目的端可简单地看成是字节的生产者和消费…
个人理解: IO流就是将数据进行操作的方式,因为编码的不同,所以对文件的操作就产生两种.最好用字节流,为了方便看汉字等,(已经确定文字的话)可以使用字符流.每个流派也就分为输入和输出,这样就可以产生复制文件了!需要注意的是Flush() 是清空,而不是刷新啊. 一般主要用在IO中,即清空缓冲区数据,就是说你用读写流的时候,其实数据是先被读到了内存中,然后用数据写到文件中,当你数据读完的时候不代表你的数据已经写完了,因为还有一部分有可能会留在内存这个缓冲区中.这时候如果你调用了 close()方法…
File: * java.io.File类:代表一个文件或目录. * 常用的构造方法: * File(String pathname)通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例. * File(String parent, String child)根据 parent 路径名字符串和 child 路径名字符串创建一个新 File 实例. * File(File parent, String child)根据 parent对象 和 child 路径名字符串创建一个新 Fil…
目录 一.前言 二.字节操作和字符操作 三.两种方式的效率测试 3.1 测试代码 3.2 测试结果 3.3 结果分析 四.字节顺序endian 五.综合对比 六.总结 一.前言 所谓IO,也就是Input/Output.Java程序跟外部进行的数据交换就叫做Java的IO操作.程序中数据的输入输出,被抽象为流, 按照相对于程序的流向,可分为输出流和输入流. 按照数据流的格式,可分为字节流和字符流.Java IO流的体系很庞大,功能丰富. 本文主要探讨了Java中字节操作和字符操作的区别. 二.字…
在程序中所有的数据都是以流的方式进行传输或保存的,程序需要数据的时候要使用输入流读取数据,而当程序需要将一些数据保存起来的时候,就要使用输出流完成. 流的分类 ①   流按其流向分为“输入流”和“输出流”. ②   流按数据传输单位分为“字节流”和“字符流”. a) “字节流”用来读写8位二进制的字节. b)“字符流”用来读写16位二进制字符. ③   流按功能分为“节点流”和“过滤流”. a) “节点流”用于直接操作目标设备的流.例如:磁盘或一块内存区域. b) “过滤流”是对一个已存在的流的…
目录 从接收输入值说起 字节流读取 字符流读取 Scanner 读取 什么是 IO 流 字节流和字符流 字节流 字节输入流 字节输出流 缓冲流的原理 字符流 字符输入流 字符输出流 为什么字符流需要 flush,而字节流不需要 RandomAccessFile 总结 从接收输入值说起 在日常的开发应用中,有时候需要直接接收外部设备如键盘等的输入值,而对于这种数据的接收方式,我们一般有三种方法:字节流读取,字符流读取,Scanner 工具类读取. 字节流读取 直接看一个例子: public cla…
1. 缓冲字节流 缓冲区:缓冲区实质上是一个数组.通常它是一个字节数组,但是也可以使用其他种类的数组.但是一个缓冲区不 仅仅 是一个数组.缓冲区提供了对数据的结构化访问,而且还可以跟踪系统的读/写进程. 缓冲流出现的原因:使用字节流每次从文件中进行读写的时候,都需要和文件进行大量的IO交互,与磁盘交互的效率其实是比较低的,所以为了降低与磁盘的交互次数,可以使用字节缓冲流.字节缓冲流将数据放到缓存区,而缓冲区是一个内存区域的概念,我们直接和缓冲区做交互,可以提升效率. 注意: (1)什么时候缓冲区…
字符流 字节流服务文本文件时,可能出现中文乱码.因为一个中文字符可能占用多个字节. 针对于非英语系的国家和地区,提供了一套方便读写方式--字符流. java.io.Reader java.io.Writer 文件字符流 |-读文件:FileReader java.io.FileReader fr = new FileReader("待读取的文件");// 构造时使用默认的字符编码 int 读取单个字符 = fr.read(); char[] cbuf = new char[1024];…
1.字节缓冲流 1.1 字节缓冲流构造方法 字节缓冲流介绍 BufferOutputStream:该类实现缓冲输出流. 通过设置这样的输出流,应用程序可以向底层输出流写 入字节,而不必为写入的每个字节导致底层系统的调用 BufferedInputStream:创建BufferedInputStream将创建一个内部缓冲区数组. 当从流中读取或跳过 字节时,内部缓冲区将根据需要从所包含的输入流中重新填充,一次很多字节 构造方法 方法名 说明 BufferedOutputStream(OutputS…
作者:季沐测试笔记 原文地址:https://www.cnblogs.com/testero/p/15228453.html 博客主页:https://www.cnblogs.com/testero 1. 为什么会出现字符流 字符流的介绍 由于字节流操作中文不是特别的方便,所以Java就提供字符流 字符流 = 字节流 + 编码表 中文的字节存储方式 用字节流复制文本文件时,文本文件也会有中文,但是没有问题,原因是最终底层操作会自动进行字节拼接成中文,如何识别是中文的呢? 汉字在存储的时候,无论选…
Java程序中,一个字符等于两个字节. Reader 和 Writer 两个就是专门用于操作字符流的类. Writer Writer是一个字符流的抽象类.  它的定义如下: public abstract class Writer implements Appendable, Closeable, Flushable 直接子类 BufferedWriter,  CharArrayWriter,  FilterWriter,  OutputStreamWriter,  PipedWriter, …
字符流 字节流提供处理任何类型输入/输出操作的足够功能,但不能直接操作Unicode字符,因而需要字符流. 字符流层次结构的顶层是Reader和Writer抽象类. 实际上,字符流的底层就是字节流. 一.Reader ①   Reader是定义Java的流式字符输入模式的抽象类. ②   Reader抽象类中的方法: a)       public int read(CharBuffer target) throws IOException b)       public int read()…
字符流 字节流提供了处理任何类型输入/输出操作的功能(因为对于计算机而言,一切都是0和1,只需把数据以字节形式表示就够了),但它们不可以直接操作Unicode字符,因为上一篇文章写了,一个Unicode字符占用2个字节,而字节流一次只能操作一个字节.既然Java的口号就是"一次编写.处处运行",那么包含直接的字符输入/输出的支持是必要的.因此就有一些字符输入/输出流,之前已经说明过了,字符流顶层是Reader和Writer这两个抽象类,因此就从这里开始本文. Reader Reader…
字节流通过读取一个byte数组的方式可以读取中文的,但是有可能出现小问题,所以,读取中文最好是用字符流. 字符流: 字符流=字节流+编码表. 编码表: 由字符及其对应的数值组成的一张表 编码表介绍: 计算机只能识别二进制数据,早期由来是电信号. 为了方便应用计算机,让它可以识别各个国家的文字. 就将各个国家的文字用数字来表示,并一一对应,形成一张表. ASCII:美国标准信息交换码. 用一个字节的7位可以表示. ISO8859-1:拉丁码表.欧洲码表 用一个字节的8位表示. GB2312:中国的…
字符流 字节流提供了处理任何类型输入/输出操作的功能(对于计算机而言,一切都是0 和1,只需把数据以字节形式表示就够了),但它们不可以直接操作Unicode字符,一个Unicode字符占用2个字节,而字节流 一次只能操作一个字节.既然Java的一个主要目的是支持“ 只写一次,到处运行” 的哲学,包括直接的字符输入/输出支持是必要的.字符流层次结构的顶层是Reader 和Writer 抽象类. • 由于Java采用16位的Unicode字符,因此需要基于字符的输入/输出操作.从Java1.1版开始…
Java IO 转换流 字节转字符流 @author ixenos 字节流 输入字节流:---------| InputStream 所有输入字节流的基类. 抽象类.------------| FileInputStream 读取文件的输入字节流.------------| BufferedInputStream 缓冲输入字节流. 该类内部其实就是维护了一个8kb(8192b)字节数组而已. 该类出现的目的是为了提高读取文件数据的效率. 输出字节流:---------| OutputStream…
IO   Input  Output IO流用来处理设备之间的数据传输. java对数据的操作是通过流来实现的. 流按流向分:输入流,输出流     是相对内存而言的.把硬盘的数据读取到内存中就是输入流. 输入流就是读操作,输出流就是写操作. 流按操作数据分两种:字节流,字符流 字节流对象可以处理所有的数据. 字符流的由来: 字节流读取字节数据后,不直接操作,而是先查指定的编码表,获取对应的文字.在对这个文字进行操作,简单的说就是   字节流+编码表 IO流的四个顶层基类 字节流的两个顶层父类(…
字符流,读取的文件是字符的时候,有两个基类一个是Reader,一个是Writer这有点拟人的感觉,人直接看懂的是文字 字符流 字节流:读取的是文件中的二进制字节流并不会帮你转换成看的懂得字符 字符流:字符流会把读到的二进制的数据进行对应的编码解码工作. 字符流 = 字节流+编码(解码) 输入字符流Reader 输入字符流的基类 抽象类 |--FileReader 读取文件的输入字符流 FIleReader的用法: 1.找到目标文件 2.建立数据的输入通道 3.读取数据 4.关闭资源 FileWr…