(java总结)Buffered IO缓冲区读取数据

阅读: 评论:0

(java总结)Buffered IO缓冲区读取数据

(java总结)Buffered IO缓冲区读取数据

package Demo45;import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Properties;
import java.util.Set;/*** java.util.Properties集合 extends Hash<k,v> implement Map<k,v>* Properties类表示了一个持久的属性集。Properties可保存在流中或从流中加载* Properties集合是唯一一个和IO流相结合的集合*      可以使用Properties集合中的方法store,把集合中的临时数据,持久化写入到硬盘中存储*      可以使用Properties集合中的方法load,把硬盘中保存的文件(键值对),读取到集合中使用**   属性列表中每个键及其对应值都是一个字符串*   Properties集合是一个双列集合,key和value默认都是字符串*/
public class DemoProperties {public static void main(String[] args) throws IOException {//show01();show02();show03();}/***    可以使用Properties集合中的方法load,把硬盘中保存的文件(键值对),读取到集合中使用*     void load(InputStream inStream)*     void load(Reader reader)*     参数:*          InputStream inStream:字节输入流,不能读取含有中文的键值对*          Reader reader:字符输入流,能读取含有中文的键值对**      使用步骤:*          1、创建Properties集合对象*          2、使用Properties集合对象中的方法load读取保存的键值对的文件*          3、遍历Properties集合*       注意事项:*          1、存储键值对的文件中,键与值默认的连接符合可以使用=,空格(其它符号)*          2、存储键值对的文件中,可以使用#进行注释,*          3、存储键值对的文件中键与值默认都是字符串,不用在加引号**/private static void show03() throws IOException {//1、创建Properties集合对象Properties propp = new Properties();//  2、使用Properties集合对象中的方法load读取保存的键值对的文件propp.load(new FileReader("E:\daima\java_day01\src\Demo44\abc"));//3、遍历Properties集合Set<String> set = propp.stringPropertyNames();for (String key : set) {String value = Property(key);System.out.println(key + "=" + value);}}/*** 可以使用Properties集合的方法store,把集合中的临时数据,持久化写入到硬盘中存储* void store(OutputStream out, String comments)* void store(Writer writer, String comments)* 参数:*      OutputStream out:字节输出流,不能写中文*      Writer writer字符输出流,可以写中文*      String comments:注释,用来解释说明保存的文件是做什么的,不能使用中文,一班使用空字符串* 使用步骤:*      1、创建Properties集合对象,添加数据*      2、创建字节输入流/字符输出流对象,构造方法中绑定要输出的目的地*      3、使用Properties集合的方法store,把集合中的临时数据,持久化写入到硬盘中存储*      4、释放资源**/private static void show02() throws IOException {//1、创建Properties集合对象,添加数据Properties prop = new Properties();//使用setProperty往集合里添加数据prop.setProperty("张靓颖","168");prop.setProperty("迪丽热巴","168");prop.setProperty("古力娜扎","168");//2、创建字节输入流/字符输出流对象,构造方法中绑定要输出的目的地FileWriter fus = new FileWriter("E:\daima\java_day01\src\Demo44\abc");//3、使用Properties集合的方法store,把集合中的临时数据,持久化写入到硬盘中存储prop.store(fus,"save data");// 4、释放资源fus.close();}/*** 使用Properties集合存储数据,遍历去除Properties集合中的数据* Properties集合一个双列集合,key和value默认都是字符串*Properties集合是操作字符串的特有方法*      Object setProperty(String key, String value)调用Hashtable的方法put*      String getProperty(String key)通过key找到value值,此方法相当于Map集合中的get(key)*      set<String> stringPropertyNames()返回此属性列表的键集,此方法相当于Map中的keySet方法*/private static void show01() {//创建集合对象Properties prop = new Properties();//使用setProperty往集合里添加数据prop.setProperty("张靓颖","168");prop.setProperty("迪丽热巴","168");prop.setProperty("古力娜扎","168");//stringPropertyNames()把键取出,存到一个set集合中Set<String> set = prop.stringPropertyNames();//变量set集合,for (String key : set) {String vlaue = Property(key);System.out.println(key + "->" + vlaue );}}
}
package Demo45;import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.IOException;/*** java.io.BufferedInputStream extends InputStream* BufferedInputStream:字节缓冲输出流** 继承自父类的方法:*      int read()从输入流中读取数据的下一个字节。*      int read(byte[] b) 从输入流中读取一定数量的字节,并将 其存储在缓冲区数组b中。*      void close()关闭输入流,释放资源* 构造方法:*     BufferedInputStream(InputStream in) 创建一个心得缓冲输入流,以将数据写入指定的底层输入流*     BufferedInputStream(InputStream in, int size) 创建一个心得缓冲输入流,以将具有指定缓冲区大小的数据写入指定的底层输入流*     参数:*        InputStream int:字节输入流,增加一个缓冲区,提高效率*        int size:指定缓冲流内部缓冲区的大小* 使用步骤:*      1、创建FileInputStream对象,构造方法中绑定读取的数据源*      2、创建BufferedInputStream对象,构造方法中传递FileInputStream对象,提供效率*      3、使用FileInputStream对象中的方法read,读取文件*      4、释放资源**/
public class DemoBufferedInputStream {public static void main(String[] args) throws IOException {//1、创建FileInputStream对象,构造方法中绑定读取的数据源FileInputStream fis = new FileInputStream("E:\daima\java_day01\src\Demo44\abc");//2、创建BufferedInputStream对象,构造方法中传递FileInputStream对象,提供效率BufferedInputStream bis = new BufferedInputStream(fis);//3、使用FileInputStream对象中的方法read,读取文件
//        int len = 0;
//        while((len = ad())!=-1){
//            System.out.println(len);
//        }byte[] bytes = new byte[1024];int len =0;while((len = ad())!=-1){System.out.println(len);}//4、释放资源bis.close();}
}
package Demo45;import java.io.BufferedOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;/*** java.io.BufferedOutputStream extends OutputStream* BufferedOutputStream:字节缓冲输出流** 继承自父类的共性成员方法*     public void close():关闭此输出流并释放与此流相关的任何资源*     public void flush():刷新此输出流并强制任何缓冲的输出字节被写出*     public void write(byte[] b):将b.length字节从指定的字节数组写入此输出流*     public void write(byte[] b, int off, int len):从指定的字节数组写入len字节,从偏移量off开始输出到此流*     public abstract void write(int b):将指定的字节输出流** 构造方法:*      BufferedOutputStream(OutputStream out) 创建一个心得缓冲输出流,以将数据写入指定的底层输出流*      BufferedOutputStream(OutputStream out, int size) 创建一个心得缓冲输出流,以将具有指定缓冲区大小的数据写入指定的底层输出流*      参数:*          OutputStream out:字节输出流,增加一个缓冲区,提高效率*          int size:指定缓冲流内部缓冲区的大小* 使用步骤:*      1、创建FileOutputStream对象,构造方法中绑定输出的目的地*      2、创建BufferedOutputStream对象,构造方法中传递FileOutputStream对象,提供效率*      3、使用FileOutputStream对象中的方法write,把数据写入到内部缓冲区中*      4、使用FileOutputStream对象的方法flush把内部缓冲去的数据,刷新到文件中中*      5、释放资源***/public class DemoBufferedOutputStream {public static void main(String[] args) throws IOException {//  1、创建FileOutputStream对象,构造方法中绑定输出的目的地FileOutputStream file = new FileOutputStream("E:\daima\java_day01\src\Demo44\abc");//2、创建BufferedOutputStream对象,构造方法中传递FileOutputStream对象,提供效率BufferedOutputStream buf = new BufferedOutputStream(file);// 3、使用FileOutputStream对象中的方法write,把数据写入到内部缓冲区中buf.write("写到内部缓冲区中".getBytes());// 4、使用FileOutputStream对象的方法flush把内部缓冲去的数据,刷新到文件中中buf.flush();//  5、释放资源buf.close();}
}
package Demo45;import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.IOException;/*** java.io.BufferedReader extends Reader** 继承父类的共性的成员方法* int read()读取单个单词并返回* int read(char[] cbuf)一次读取多个字符,将字符读入数组* void close() 关闭流,释放资源** 构造方法:*      BufferedReader(Reader in)创建一个使用默认大小输入缓冲区的缓冲字符输入流*      BufferedReader(Reader in, int sz) 创建一个使用指定大小输入缓冲区缓冲字符输入流*      参数:*          Reader in:字符输入流,缓冲流给FileReader增加一个缓冲区,提高FileReader的读取效率*特有的成员方法:*      String readLine() 读取一个文本行*                        行的终止符号:n, r, (rn)*             返回值:包含内容的字符串,不包含任何终止符,如果流已经达到末尾,则返回null** 使用步骤:*      1、创建字符缓冲输入流对象,构造方法中传递字符输入流*      2、使用字符缓冲输入流对象中的方法read/readLine读取文本*      3、释放资源**/
public class DemoBufferedReader {public static void main(String[] args) throws IOException {//  1、创建字符缓冲输入流对象,构造方法中传递字符输入流BufferedReader brs = new BufferedReader(new FileReader("E:\daima\java_day01\src\Demo44\abc"));String len ;while ((len = adLine()) != null){System.out.println(len);}brs.close();}
}
package Demo45;import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;/*** java.io.BufferedWriter extends Writer* BufferedWriter字符缓冲输出流* 继承父尅的共性方法;*     void write(int c)写入单个字符*     void write(char[] cbuf)写入字符数组*     abstract void write(char[] cbuf, int off, int len)写入字符数组的某一部分,off数组的开始索引,len写的字符个数*     void write(String str)写入字符串*     void write(String str, int off, int len)写入字符串的某一部分,off字符串的开始索引,len写的字符串的个数*     void flush()刷新该流的缓冲*     void close()关闭此流,但要先刷新它** 构造方法:*      BufferWriter(writer out)创建一个使用默认大小输出缓冲区字符输出流*      BufferWriter(writer out, int sz)创建一个使用给定大小输出缓冲区的新缓冲自负输出流*      参数:*          Writer out:字符输出流,缓冲流给FileWriter增加一个缓冲区,提高FileWriter的写入效率*          int sz:指定缓冲区的大小,不写就是默认大小* 特有的成员方法:*      void newline写入一个行分隔符,会根据不同的操作系统,获取不同的行分隔符** 使用步骤:*      1、创建一个字符缓冲输出流对象,构造方法中传递字符输出流*      2、调用字符缓冲输出流中的方法Writer,把数据自而入内存缓冲区中*      3、调用字符缓冲输出流中的方法flush,把内存缓冲区中的数据,刷新到文件中*      4、释放资源*/
public class DemoBufferWriter {public static void main(String[] args) throws IOException {//1、创建一个字符缓冲输出流对象,构造方法中传递字符输出流BufferedWriter bw = new BufferedWriter(new FileWriter("E:\daima\java_day01\src\Demo44\abc"));//2、调用字符缓冲输出流中的方法Writer,把数据自而入内存缓冲区中for (int i = 0; i < 10; i++) {bw.write("我爱你");bw.newLine();}bw.close();}
}

本文发布于:2024-01-31 20:03:43,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170670262331024.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:缓冲区   数据   java   Buffered   IO
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23