安卓集训营第七天---JAVA的IO流
来源:互联网 发布:星际战甲嗜血冲动算法 编辑:程序博客网 时间:2024/05/16 05:51
IO流
1. 流向分类:输入流,输出流(内存为中心)
2. 来源分类:文件流,内存流,网络流,控制台流(system.out/in)
3. 操作单元:字符流,字节流(字符流只能读文本,字节流可以读任何文件)
4. 设计模式:基础流,包装流
5. Try(在此声明输入输出流,使用完毕后可自动关闭)
{数据操作}Catch(){};
文件输出流:
FileOutputStream fos = new FileOutputStream("asd.txt",append boolern);
Fos.wrint( int n );
1. n只能 0 到 255 , 大于255只生效后八位
2. append 追加,默认false,从头开始
字符输出流:
outputStreamwrite osw = new outputStreamwrite(fos , "UTF-8");
Osw.write(char a );
Osw.flush();
1. Flush()清空缓冲区,将值传递到输出流
2. JAVA 1.7之后
文件读写流:
RandomAccessfile rat = new RandomAccessfile("text", "rw")
1. Rw读写模式R只读模式
2. 可读写,有文件指针;
PrintStream写入流
1.能将功能添加到另一个输出流,即能够打印各种数据值方便的表示。不像其他的输出流,PrintStream从不抛出IOException;
例子:
PrintStreamout=System.out;
try{
out.write("abc".getBytes("UTF-8"));
}catch(IOExceptione){
e.printStackTrace();
}
内存流
1. 先声明一个Byte数组,用ByteArrayInputstrem封装成流
再用DataInputStrem装载读取
2. DataInputStrem可以按基本类型读取比特数流;
3. DataoutputStrem可以按基本类型输出比特流;
4. Dis.reset(); //指针归零,普通的流中多不能倒流
比特数组流
ByteArrayOutputStream
1. 这个类实现了一个输出流的数据写入一个字节数组。的自动随着数据写入缓冲区。检索的数据可以使用toByteArray()和toString()。
2. 常和ByteArrayOutputStream一起使用。
系统输入输出流
1. 不能新建
try{
System.setIn(newFileInputStream("test.txt"));
}catch(FileNotFoundExceptione){
e.printStackTrace();
}
try{
System.out.println(System.in.available());
}catch(IOExceptione){
e.printStackTrace();
}
2. Scanner ,阻塞进程,等待命令
System.in.read()永远读不到结尾,即-1
System.out 和system.err类似,err打出的是红字,一起用不能确定谁先输出
Radix:进制的意思
BigInterger(大型数据,不是基本类型,无法使用加减号)
BigIntegerbig=scanner.nextBigInteger();
System.out.println(big);
BigIntegeradd=big.add(newBigInteger("10"));
System.out.println(add);
内存流和缓冲流区别:
内存流是基础流,速度快;目标和来源已知
缓存流是包装流,目标和读取源未知
装饰者模式:
灵活性高
解决java的单继承模式,模拟多继承
例子:
InputStreamReader可以装载FileInputStram等
BufferedReader可以装载InputStreamReader
- 安卓集训营第七天---JAVA的IO流
- 安卓集训营第八天---JAVA的线程
- java第七天 IO
- 安卓--第七天--fragment的实现
- 安卓集训营第一天---JAVA的标识符,运算符和数据类型
- 安卓集训营第五天---JAVA的Object类,String类和正则表达式
- 集训第七天
- 安卓学习第七天
- 安卓实习第七天
- 安卓集训营第二天---JAVA的循环,递归
- 安卓集训营第六天---JAVA的集合
- java第七天--IO;装饰者模式
- 安卓集训营第三天---JAVA面向对象,类,抽象类和接口
- 安卓学习第七天:View
- [安卓基础]学习第七天
- Java基础第十七天--IO流1
- java基础第十七天 io缓冲流
- 西安集训第七天-----claris叫你常见的数据结构维护技巧
- 对象相等性——如何给自定义对象添加equals和hashCode方法
- 观察者模式
- ImportError: No module named Crypto.Cipher (Win7 + eclipse + pydev解决方案)
- Tomcat与JDK版本对应关系
- 【python】python redis的安装与使用
- 安卓集训营第七天---JAVA的IO流
- RecyclerView关于notifyItemRemoved的那点小事
- solr入门之使用Solr完成拼写纠错的实现思路
- 给radioButtonList 增加间距
- Kafka API for Python
- 金融和经济数据应用
- iOS-导航头像缩放,支持点击回调
- Runnable、Callable、Executor、Future、FutureTask关系解读
- |Tyvj|NOIP2000|动态规划|P1047 乘积最大