黑马程序员--基础--第二篇--SequenceInputStream和Properties类特殊类

来源:互联网 发布:java equals的用法 编辑:程序博客网 时间:2024/05/22 13:27

ASP.Net+Android+IOS开发.Net培训期待与您交流!
SequenceInput类 

该类的特殊之处在于可以将多个输入流连接到一起,统一输出。比如可以将多个文件中的数据统一整合到一个流中,然后输出到一个单独的文件中。另外还可以通过new出多个流,将一个文件切割成多个文件

import java.util.Vector;import java.util.Enumeration;import java.io.*;public class SequenceInputStreamTest{public static void main(String[] args) throws IOException{//combFile();splitFile();}public static void splitFile()throws IOException{FileInputStream br = new FileInputStream("d:/tempFile/1_2_3.avi");FileOutputStream bw = null;byte[] arr = new byte[1024*1024*6];int a = -1;int count = 1;while((a = br.read(arr))!=-1){bw = new FileOutputStream("d:/tempFile/+"+(count++)+"+.avi");bw.write(arr,0,a);bw.close();}br.close();}public static void combFile()throws IOException{FileInputStream f1 = new FileInputStream("d:/tempFile/1.txt");FileInputStream f2 = new FileInputStream("d:/tempFile/2.txt");FileInputStream f3 = new FileInputStream("d:/tempFile/3.txt");Vector<FileInputStream> v = new Vector<FileInputStream>();v.add(f1);v.add(f2);v.add(f3);Enumeration e = v.elements();SequenceInputStream sis = new SequenceInputStream(e);BufferedReader bis = new BufferedReader(new InputStreamReader(sis));BufferedWriter bw = new BufferedWriter(new FileWriter("d:/tempFile/1_2_3.txt"));String str = null;while((str = bis.readLine())!=null){bw.write(str);bw.flush();bw.newLine();}bw.close();bis.close();sis.close();}}

Properties类

java.util.Porperties是一个非常重要的类,它是Hashtable的子类,也就是说是Map的子类,具有Map的重要特性。同时它可以操作流,具有IO的特性。Porperties不仅仅可以操作内存中的键值对,而且还可以操作硬盘上的键值对,常用于软件的配置信息保存!

/*System描述系统的一系列信息*/import java.util.Properties;import java.util.Map;import java.io.FileInputStream;import java.util.Iterator;import java.io.IOException;import java.util.Set;public class SystemTest{public static void main(String[] args) throws IOException{Properties pr = System.getProperties();//由于Properties是Hashtable的字类,所以也是Map集合的子类//所以可以使用Map的方法取得Properties中的属性信息Set<String>set = pr.stringPropertyNames();for(String ob :set){String str = (String)pr.get(ob);System.out.println(str);}//输出java的系统配置信息System.out.println(pr.getProperty("os.name")); //指定特有的信息pr.setProperty("author","xiang");System.out.println(pr.getProperty("author"));//在虚拟机启动时动态的指定系统信息System.out.println(pr.getProperty("Admin"));//将一个文件中已配置好的键值对信息写到系统配置信息中Properties p = new Properties();FileInputStream fis = new FileInputStream("D:/jianzhidui.txt");p.load(fis);System.out.println(p);}}
ASP.Net+Android+IOS开发.Net培训期待与您交流!

0 0