Java基礎第十三天總結

HashSet(是由HashMap實現的)和HashMap(存入KV對)存儲機制一樣,查詢速度快。

HashMap實現的map map

都沒有線程安全性,

HashSet實現的Set接口 Set實現的Collection

HashMap實現的Map

Collection與Map是同級別的。

文件複製 用到緩衝區

package com.test;


import java.io.FileReader;

import java.io.FileWriter;


public class CopyFileDemo {


public static void main(String[] args) {

String srcFile="e:/aa.txt";

String tarFile="e:/bb.txt";

FileReader reader=null;

FileWriter writer=null;

try {

//讀取src文件的reader

reader=new FileReader(srcFile);

//寫入tar文件的fileWriter

writer=new FileWriter(tarFile);

//定義字符緩衝區

char[] buf=new char[1024];

int len=0;

while((len=reader.read(buf))!=-1){

writer.write(buf, 0, len);

}

//操作完畢之後要關流

} catch (Exception e) {

// TODO: handle exception

}finally{

try {

if(reader!=null){

reader.close();

}

if(writer!=null){

writer.close();

}

} catch (Exception e2) {

}

}


}


}

行分割符在java中可以通過 方法得到

系統屬性名是line.separator

不同平臺的行分隔符是不同的。

windows:\r\n


System.getProperty("line.separator");//執行系統屬性名

FileWriter:沒有緩衝區功能,本身沒有新增任何功能,繼承是的outputStreamWriter,

outputStreamWriter繼承的是Writer

 writer(){

    sun.nio.cs.StrenamEncoder.write(....);


}

BufferedWriter:對Writer進行了包裝,裏面定義緩衝區,提供官入單個字符

char[] String的效率

提高寫入效率。

等級樹結構object-Writer--BufferedWriter

close()方法:flushBuffer();

flushBuffer();清理緩衝區,將緩衝區數據寫入目的地址。

BufferedReader

  繼承關係樹:object-->Reader-->BufferedReader-->LineNumberReader

FileReader

  繼承關係樹:object-->Reader-->InputStreamReader-->FileReader

read(){

  InputStreamReader.read(){

  

}


}


緩存區的引入是爲了避免對物理文件的頻繁讀取與寫入

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章