一.字节流 1.InputStream/OutputStream(输入流与输出流几乎一一对应) 读取的方法   int read()   int read(byte[] buffer)   int read(byte[] buffer,int offset,int length) 2.各种类的区分,常用的9种(按处理的基本单位划分) 2.1.以字节数组为颗粒(颗粒就是基本单位的意思) ByteArrayInputStream 2.2.以文件为颗粒 FileInputStream 2.3.管道流(…
参考:http://blog.csdn.net/ilibaba/article/details/3955799 Java IO 的一般使用原则(花多眼乱,其实每个类都有专门的作用): 这里有详细介绍:Java的IO输入输出流类的介绍(有图) 一.按数据来源(去向,也就是颗粒)分类: 1 .文件: FileInputStream, FileOutputStream, (字节流) FileReader, FileWriter(字符流) 2 .字节数组 byte[]: ByteArrayInputSt…
java I/O输入输出流 1.编码问题 import java.io.UnsupportedEncodingException; /** * java涉及的编码 */ public class EncodeDemo { public static void main(String[] args) throws UnsupportedEncodingException { String s = "百度ABC"; //字符串转化为byte,使用getBytes方法 //转换字节序列用的是…
Java复习7.输入输出流 20131005 前言: Java中涉及数据的读写,都是基于流的,这一块的知识相当重要,而且在Java中的数据,char字符是16bit的,所以存在字节流和字符流的区别.如果是字符文件的输入输出,使用字符流(以Reader/Writer为抽象基类),而其他的数据是二进制的,需要使用字节流(以InputStream和OutputStream为抽象基类). 其实不止文件,网络数据传输也是输入输出流. 目录 1.字节流和字符流... 2 1.1字节输入流:... 2 1.2…
using System.Xml;                //xml文件操作命名空间 #region 写入操作 void WriteXMLFile(string _fileName) { XmlDocument doc = new XmlDocument();           //创建文档对象 var root = doc.CreateElement("root");                  //创建 root 标签 doc.AppendChild(root); …
首先看个图: 这是Javaio 比较基本的一些处理流,除此之外我们还会提到一些比较深入的基于io的处理类,比如console类,SteamTokenzier,Externalizable接口,Serializable接口等等一些高级用法极其原理. 一.javaio的开始:文件 1. 我们主要讲的是流,流的本质也是对文件的处理,我们循序渐进一步一步从文件将到流去. 2. java 处理文件的类 File,java提供了十分详细的文件处理方法,举了其中几个例子,其余的可以去 package com.…
数据流分类: 流序列中的数据既可以是未经加工的原始二进制数据, 也可以是经一定编码处理后符合某种格式规定的特定数据. 因此Java中的流分为两种: 1) 字节流:数据流中最小的数据单元是字节 2) 字符流:数据流中最小的数据单元是字符, Java中的字符是Unicode编码,一个字符占用两个字节. 主要的类如下: 1. File(文件管理):如生成新目录,修改文件名,删除文件,判断文件所在路径等. 2. InputStream(二进制操作):抽象类,基于字节的输入操作,是所有输入流的父类.定义了…
java.io使用了适配器模式装饰模式等设计模式来解决字符流的套接和输入输出问题. 字节流只能一次处理一个字节,为了更方便的操作数据,便加入了套接流. 问题引入:缓冲流为什么比普通的文件字节流效率高? 不带缓冲的操作,每读一个字节就要写入一个字节. 由于涉及磁盘的IO操作相比内存的操作要慢很多,所以不带缓冲的流效率很低. 带缓冲的流,可以一次读很多字节,但不向磁盘中写入,只是先放到内存里. 等凑够了缓冲区大小的时候一次性写入磁盘,这种方式可以减少磁盘操作次数,速度就会提高很多! 这就是两者的区别…
一.文件的编码               开发时一定要注意项目默认的编码!!!!!!!!               文件操作的时候一定要记得关闭!!!!!!!!        ASCII:美国标准信息交换码,用一个字节的7位可以表示一个字符        ISO8859-1:拉丁码表,西欧标准字符集,用一个字节的8位表示        GB2312:中文编码表,用两个字节来表示中文编码        GBK:中文编码表的升级,融合了更多表示中文文字符号        GB18030:GBK的…
在Java中进行文件的读写,Java IO流是必备的知识. IO流指 的是输入输出流,用来处理设备上的数据.这里的设备指硬盘,内存,键盘录入,网络传输等. 按处理数据类型来分:字节流和字符流. 按流的方向来分:输入流和输入流. 简单来说,当需要读数据的时候,需要使用输入流,当需要写数据的时候,需要使用输出流. 什么时候使用字节流?什么时候使用字符流? 首先,任何数据存在硬盘上时,都是以二进制的形式存储的.而通过使用字节流,可以读取任意文件.字节流一次读取一个字节,而字符流使用了字节流读到一个或者…
File类: 程序中操作文件和目录都可以使用File类来完成即不管是文件还是目录都是使用File类来操作的,File能新建,删除,重命名文件和目录,但File不能访问文件内容本身,如果需要访问文件本身,则需要使用输入/输出流,该类是位于java.io包下的 输入与输出IO: 输入流:只能从中读取数据,而不能向其中写入数据(由InputStream(字节流)和Reader(字符流)作为基类) 输出流:只能向其写入数据,而不能从中读取数据(由OutputStream(字节流)和Writer(字符流)…
1 读写文件 [实验目的] (1)掌握文本文件的读写方法. (2)掌握随机文件的读写方法. (3)掌握InputStream.OutputStream抽象类的基本使用. (4)掌握FileInputStream.FileOutputStream.DataInputStream.DataOutputStream 抽象类的基本使用. [实验要求] 要求一:建立StreamDemo类.实现标准输入输出流的建立.能从键盘读取字符串并输出该字符串. 要求二:应用Java的输入输出流.对一个图片文件进行处理…
java的io的知识中,File类必须掌握.File类是对文件或者文件夹的封装.它本身并不能对所封装的文件进行读写,它封装的只是文件或文件夹的周边知识,比如 大小啦,创建日期啦,路径啦等等. 如果File封装的文件夹,File类的list()方法可以将此文件夹下的所有文件夹和文件已字符串数组的形式返回. list(FilenameFilter)可以对返回的字符串数组进行过滤,取自己想要的字符串. ?打印文件夹下的.java文件 实现1 package com.westward.io; impor…
================File类 =====================InputStream ==================OutputStream ==============read  read和inputstream都是抽象类 ==========缓冲流 指定编码格式 ===============数据输入/输出流 datainputstream的方法 dataoutstream的方法 ====================对象输入/输出流…
FileInputStream和FileOutputStream 创建含磁盘文件的输入 输出流对象. FileInputStream继承自InputStream,用于读取本地文件中的字节数据,由于所有的文件都是字节为导向,所以这个类适合于操作任何类型的文件. 构造方法: 实例:FileInputStream fileInputStream = new FileInputStream(new File("path")); 其他方法: read()方法:从输入流中读取最多b.length个…
1 文件的打开和关闭 1.1 定义流对象 ifsteam iflie;//文件输入流对象 ifsteam iflie;//文件输出流对象 fsteam iflie;//文件输入输出流对象 1.2 打开文件 void open(const unsigned char* filename,int mode,int accessfilebuf:opnprot) mode为打开的方式,相关标记如下图所示(ios中) 注意: (1)通常打开方式用|组合起来 ios::in|ios::out  //读写方式…
字节流字节流主要是操作byte类型数据,也byte数组为准,主要操作类就是·字节输出流:OutputStream·字节输入流:InputStream字符流在程序中一个字符等于2个字节,那么java提供了Reader.Writer两个专门操作字符流的类.·字符输出流:Writer·字符输入流:Reader字节-字符转换流OutputStreamWriter和InputStreamReader在整个IO包中,实际上就是字节流和字符流,但是除了这两个流之外,还存在一组字节流-字符流的转换类.[java…
目录 本片要点 基本分类 发展史 文件字符流 输出的基本结构 流中的异常处理 异常处理新方式 读取的基本结构 运用输入与输出完成复制效果 文件字节流 缓冲流 字符缓冲流 装饰设计模式 转换流(适配器) 适配器设计模式 标准流/系统流 标准流分类 打印流 合并流 序列化/反序列化流 序列化的意义 序列化对象 关于版本号 自定义序列化的两种方法 Serializable自定义 Externalizable自定义 参考阅读 什么是流?流表示任何有能力产生数据的数据源对象或者是有能力接收数据的接收端对象…
打印流: 有两个类:PrintStream,PrintWriter类,两个类的方法一致,区别在于构造器 PrintStream:构造方法:接收File类型,接收字符串文件名,接收字节输出流(OutputStream) PringWriter:构造方法:接收File类型,接收字符串文件名,接收字节输出流(OutputStream),接收字符输出流(Writer) 为其他流添加功能,可以方便地打印各种数据值,不同的是:它永远不会抛出IO异常 方法: package demo; import java…
转换流  转换输出流 OutputStreamWriter: 说明: /* * OutputStreamWriter 这个类的作用 * 就是指定输出流的编码格式 * 这个类的构造方法 需要传递 一个输出流的对象 * FileOutputStream fos = new FileOutputStream("e:gu.txt"); * OutputStreamWriter osw = new OutputStreamWriter(fos,"utf-8"); * * *…
 *  * 想要知道开发时用到哪些数据对象,只要通过四个明确即可:  * 1.明确源,和目的:  * 源: InputStream reader  * 目的: OutPutStream Writer  * 2.明确数据是否为纯文本数据:  * 源:是纯文本: Reader  * 否: InputStream  *       目的: 是纯文本;: writer  *                 否: OutPutSream  * 3.明确具体的设备.  *     源设备:  *    …
private static void StringWriterAndReader() throws Exception { //字符串流(字符串的内存流) //字符串输入流 StringWriter sWriter=new StringWriter(); sWriter.write("文档在手,天下我有!"); sWriter.write("吃得苦中苦,方为人上人!"); // System.out.println(sWriter.toString()); //字…
public static void main(String[] args) throws IOException { //创建源 File f =new File("file/stream.txt"); //创建文件字节输入流 FileInputStream in=new FileInputStream(f); //具体读取操作 /* * 如果读取到最后没有,就返回-1: * int read() 读取一个字节 * int read(byte[] b) 读取多个字节并且存储到b数组中…
字节缓冲流 //为什么要使用包装流,使用包装流是为了提高读写操作的性能. public class Packing_flowDemo { public static void main(String[] args) throws Exception { File file = new File("file/packing_flow.txt"); //包装流的写法,缓冲区内存大小.1024*8=8192 (byte) // BufferedOutputStream packing = n…
转自:http://fsz521job.itpub.net/post/5606/34827 网络程序的很大一部分是简单的输入输出,即从一个系统向另一个系统移动字节.字节就是字节,在很大程度上,读服务器发送的数据与读取文件没什么不同:向客户传送数据与写入一个文件也没有什么区别. Java中输入和输出组织不同于大多数其他语言.它是建立在流(stream)上.不同的基本流类(如java.io.FileInputStream和sun.net.TelnetOutputStream)用于读写特定的数据资源.…
一.字节数组流: 类 ByteArrayInputStream:在构造函数的时候,需要接受数据源,而且数据源是一个字节数组. 包含一个内部缓冲区,该缓冲区包含从流中读取的字节.内部计数器跟踪 read 方法要提供的下一个字节 关闭ByteArrayInputStream流无效.此类中的方法在关闭此流后仍可被调用,而不会产生任何 IOException   类 ByteArrayOutputStream:在构造函数的时候,不用定义数据目的,因为该对象中内部已经封装了可变长度的字节数组,这就是数据的…
第一讲     File类 一.概述 1.File类:文件和目录路径名的抽象表现形式 2.特点: 1)用来将文件或文件夹封装成对象 2)方便于对文件与文件夹的属性信息进行操作 3)File类的实例是不可变的:也就是说,一旦创建,File 对象表示的抽象路径名将永不改变 4)File对象可以作为参数传递给流的构造函数 二.File对象创建 方式一: File f =new File("a.txt"); 将a.txt封装成File对象.可以将已有的和未出现的文件或者文件夹封装成对象. 方式…
IO流的复习总结 ------注:蓝色背景段落是例子:红色背景的字段IO流的功能类. 编码问题 String s = "威力锅ABC";  //utf-8编码中文占用三个字节,英文占用一个字节  byte [] bytes = s.getBytes();//转换成字节序列用的是项目默认的编码(utf-8)  for(byte b:bytes) {   //toHexString 把字节(转换成了int)以16进制的方式显示.   System.out.print(Integer.toH…
1 io类图关系 1.1 简化形式 1.1.2补充 iostream: istream:从流中读取 ostream:写入到流 iosteram:读写流 fstream: ifstream:从文件读 ofstream:写入文件 fstream:读写文件 2 流综述 2.1什么情况会导致刷缓冲 (1)程序正常结束,作为main函数结束的一部分将清空所有的缓冲区 (2)缓冲区满会刷缓冲 (3)endl flush刷缓冲 (4)在每次输出操作执行完后用unitbuf操作符设置流内部状态从而清空缓冲区 2…