JAVA IO流_3
来源:互联网 发布:萝莉有杀气源码 编辑:程序博客网 时间:2024/04/30 10:22
JAVA IO流_3
一. 随机流
RandomAccessFile
可以直接操作数据
特性:带有文件指针
//File f=new File("D"+File.separator+"rand.txt");//RandomAccessFile rf=new RandomAccessFile(f, "rw");//四种模式 //method1(rf);RandomAccessFile rand2=new RandomAccessFile(new File("D:\\char02.txt"), "rw");int len=0;byte[] by=new byte[1024];while((len=rand2.read(by))!=-1){System.out.println(new String(by,0,len));rand2.write(by,0,len);}}////public static void method1(RandomAccessFile rf) throws IOException {//rf.seek(0);//System.out.println(rf.readLine());//rf.writeUTF("how are you");//System.out.println(rf.getFilePointer());//rf.writeInt(10);//4//rf.writeBoolean(false); //1//rf.writeChar('a');//2//System.out.println(rf.getFilePointer());//rf.seek(0); //绝对定位,改变文件指针//System.out.println(rf.readInt());//}}
二.配置文件的使用
一些项目常用的固定的参数信息,通常我们会建一个文件进行存储* Properties 继承hashtable,实现map集合的。
存放的数据信息是键值对
properties 存放的键值对都是字符串的
Properties
Properties p=new Properties();InputStream in=new FileInputStream("test.properties");//解决中文乱码的问题//InputStreamReader bin=new InputStreamReader(in);p.load(in); //将流里面的配置信息加载进pro的列表 String name=p.getProperty("name");String age=p.getProperty("age");String gender=p.getProperty("gender");System.out.println(name+"=="+age+"=="+gender);//迭代器的方式Iterator<String> it= p.stringPropertyNames().iterator();while(it.hasNext()){String key=it.next();System.out.println(key+":"+p.getProperty(key));}//往配置文件里面写内容FileOutputStream fou=new FileOutputStream("test.properties");//解决中文乱码问题OutputStreamWriter bo=new OutputStreamWriter(fou);p.setProperty("id", "2017"); //添加键值对数据//out 输出流 comments 注释p.store(fou, "this is my new add");bo.close();}
三.与装饰者模式相关
1.包含要增强类的对象引用2.扩展需要增强的方法
public class Demo01 {public static void main(String[] args) throws IOException {//BufferedReader bReader=new BufferedReader(new FileReader(new File("D:\\message.txt")));//String str=null;int num=0;//while((str=bReader.readLine())!=null){//num++;////System.out.println(num+":"+str);//}//将bufferRead的readLine()扩展功能File f=new File("D:\\message.txt");FileReader fr=new FileReader(f);BufferedReader br=new BufferedReader(fr);//先添加行号myBuffer my=new myBuffer(br);//myBuffer mb=new myBuffer(br);String str1=null;while((str1=my.readLine())!=null){System.out.println(str1);}}//装饰者设计模式/*1.包含要增强类的对象引用 *2.扩展需要增强的方法 * * */}//提升功能的类 class myBuffer extends BufferedReader{int num=0;public BufferedReader br; //1.包含要增强类的对象引用public myBuffer(BufferedReader in) {super(in);this.br=in;}public String readLine() {String str=null;try {str=br.readLine();if(str!=null){num++;return num+":"+str;}} catch (IOException e) {e.printStackTrace();}return str;}}
阅读全文
0 0
- JAVA IO流_3
- java语法_3:IO
- 黑马程序员----JAVA基础----IO流_3及反射
- JAVASE----16----IO流_3
- java流_3
- java流_3转换流
- JavaSe基础XX18——IO流_3
- 黑马程序员——Java基础——IO输入与输出_3
- java 代码片段_3
- 读书笔记:java线程_3
- Java初级笔记_3
- JAVA基础知识_3
- Java面向对象_3
- JAVA知识_3
- lucene对数据库创建索引时报错:java.io.IOException: Cannot overwrite: D:\index\_3.fdt的解决办法
- JavaSE_IO流_3
- 黑马程序员_3 JAVA基础
- java的基本语法_3
- vue 页面传值 手机号隐藏
- JS数据类型
- Biggest Number(刘汝佳,搜索+剪枝)
- 刷新父iframe的信息
- oracle中斜杠(/)的含义
- JAVA IO流_3
- 理解CSS中的BFC(块级可视化上下文)
- 51单片机 时钟程序设计 数码管可闪烁显示数值
- HBase之java api接口调用与mapreduce整合即从hdfs中通过mapreduce来导入数据到hbase中
- 小米手机Installation failed with message Failed to establish session.
- 将编辑好的PDF文件进行编辑困难吗
- 《辛雷学习方法》读书笔记——第二章 心态
- Spring-(1)HelloSpring
- ionic客服拖拽