码迷,mamicode.com
首页 > 编程语言 > 详细

Java基础第十三天总结

时间:2016-05-31 19:13:19      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:package   import   public   安全性   缓冲区   

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(){

  

}


}


缓存区的引入是为了避免对物理文件的频繁读取与写入

本文出自 “日常学习记录” 博客,请务必保留此出处http://wangyang1987.blog.51cto.com/2577621/1784915

Java基础第十三天总结

标签:package   import   public   安全性   缓冲区   

原文地址:http://wangyang1987.blog.51cto.com/2577621/1784915

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!