jse—IO
来源:互联网 发布:windows账户 编辑:程序博客网 时间:2024/05/22 10:31
1.FileReader FileWriter
是对字符流的读写操作
FileReader fr = new FileReader(" fileName");
int fr.read();返回值为所读取字符的int值
int fr.read(char[] ); 返回值为所读数组的长度,目的:将字符读入字符数组
//StringBuilder和StringBuffer的区别
//线程同步和不同步的区别,所以影响其执行快慢。
BufferedReader(new FileReader("fileName")) 提供ReadLine()
BufferedWriter(new FileWriter("fileName"))提供newLine()
装饰设计模式
BufferedReader(fr)传入已有对象,基于已有对象并提供加强功能,该类为装饰类
装饰类通过构造方法接受被装饰类,并提供增强功能
LineNumberReader():BufferedReader的子类,提供行号的功能
2.FileOutputStream FileInputStream
FileInputStream fis = new FileInputSream("");
byte[ ] buf = new byte[fis.available()]//定义一个刚刚好大小的字节数组
fis.read(buf);
复制音频文件:
注意:在返回值为Int的时候,会将byte类型提升,想要变回原值只要&0xff,但因为write只会写最低八位,
保证原来的数据不变。
3.InputStreamreader OutputStreamWriter
转换流,可以在构造函数的参数中加入charSet
BufferedReader bufr = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bufw = new BufferedWriter(new OutputStreamWriter(System.out));
4.PrintWriter PrintStream
能打印八种基本数据类型
构造函数中可以传入charSet
基本print, println,printf,write等打印功能
5.File
File类为弥补流的缺陷而出现,File类可以操作文件夹和文件信息。
File f = new File("");//File并不会创建文件
创建文件的命令为f.createNewFile();//已经存在就不创建,而在输出流中,存在的话会覆盖掉
File[ ] files = f.listFiles();
f.mkdir()//创建文件夹
f.mkdirs()//创建多个文件夹
isFile(),isDirectory(),listRoots();
separator();//跨平台分隔符 \\
6.Properties
是HashTable的的子类,是集合HeIO相结合的容器
prop.load(fis);加载信息时必须是键值对
7.SequenceInputStream
实现多个流的打印
8.ObjectInputStream ObjectOutputStream
Object必须实现serializble接口
静态成员变量不能被序列化
有transient关键字的不能被序列化
9.PipedInputStream PipedOutputStream
管道流无线第三方容器,不能用于单线程,只能用于多线程
10.RandomAccessFile
RandomAccessFile(File,mode)
mode:r,rw,rws,rwd//r不会创建文件,rw会创建文件但不会覆盖
随机访问文件。也可以对基本数据类型进行读写
Raf.seek();调整文件中的指针,实现对任意位置的数据进行读写
应用实例:用多线程来实现分段存储数据(下载软件的原理)
11.DataInputStream DataOutputStream
操作数据流
12.ByteArrayInputStream ByteArrayOutputStream
byteArrayInputStream(byte[ ])//没有调用底层资源无需关闭流
13.FileWriter和FileOutputStream中可以在构造函数中传入,true,来实现对相应文件的续写
14.编码问题
编码 String——》byte[ ] str.getBytes();
解码 byte[ ]——》new String(byte[ ]);
数组变字符串,使用Arrays.toString(byte[ ]);
编码发展过程:ASCII——ISO8859-1——GB2312——GBK——Unicode——UTF-8
GBK与UTF之间不能相互编码解码
因为它们都识别中文
UTF—8识别编码原理
01010100
11001010 10010101
11101001 10101011 10111000
联通
- jse—IO
- java.jse--IO--NIO与IO的区别
- JSE深入探究——反射初步
- java.jse--IO--Java NIO与IO的区别和比较
- 关于“Monitor.jse”
- [jse] String StringBuffler StringBuilder
- [面试]JSE JEE区别
- jse基础-数组
- jse-集合框架
- jse中将数据反转
- jse -- Java动态代理实现
- java.jse-线程-线程阻塞
- jse基础-进制转换
- JVM JDK JRE JSE的简单介绍
- JSE -- > 回调函数的理解
- [jse] final 定义常量 不可变
- [jse] static final 定义类常量
- 读JSE源码(一):Arrays
- 像风一样自由
- Lua中的 (function(){})()
- hdu 4749 (转化的KMP)
- 金色十月线上编程比赛第一题:小女孩数数
- php-list
- jse—IO
- poj 1276 Cash Machine(dp 水题)
- iOS开发UI篇—ios应用数据存储方式(偏好设置)
- POJ 2255 Tree Recovery(树的遍历)
- 有关网站推广内容党与标题当的优缺点点评
- 开博第一篇--对几个算法的学习
- 分布式系统----【一致哈希】
- 文本属性Text effect
- Cococ2d-X 中quick的学习笔记(二)-------MyApp.lua类详解