您的位置:首页 > 编程语言 > Java开发

java从0开始学习第十一课-IO也是非常简单的

2016-05-06 22:47 387 查看
staticvoidwriteFile(StringfileName,Stringtext)throwsIOException{
FileWriterfw=newFileWriter(fileName);//获取文件写入器
BufferedWriterbw=newBufferedWriter(fw);//将文件写入器转成缓存写入器
bw.write(text);//缓存写入器写入内容
bw.close();
}

 

   我们知道怎么去读取txt文件的内容,同时也知道怎么把内容写进去了,但是,我们真的熟悉io了吗?这节课,我们要知道非常吊的一些知识:1、什么流,2、字节流和字符流是什么?他们有什么区别?废话少说了,先上图:



 

我草,这个图怎么这么丑啊!!!看来我是不适合当前端工程师了,我想好了,必须选择后端啊,选择服务端或者大数据!!!!等做完这个系列教学,我就给大家做一个hadoop教学篇(我现在还一点都没学过呢,不过先把牛逼吹起来)。

 

  大家看,流就是一条小河,我们要传输的数据就是河里的水,只有建立了流,我们的java程序才可以跟数据源(txt,xml,doc···)等进行愉快的玩耍,你们知道什么是流了吗??

 

字节流:就是以字节(byte)为基本单位的流。InputStream,OutputStram

字符流:就是以字符(char)为基本单位的流。Reader,Writer

大家知道区别了吗?

我们看看上一节课的读写文件的程序:

staticStringreadFile(StringfileName)throwsIOException{
StringBuildersb=newStringBuilder();//这个就是咱们要返回的数据
FileReaderfr=newFileReader(fileName);//获取文件阅读器fr
BufferedReaderbr=newBufferedReader(fr);//将文件阅读器的内容装进缓存里
Stringa;
while((a=br.readLine())!=null){//将br的内容按行读出来,并且判断是不是空
sb.append(a);//讲内容添加到sb中
sb.append("\n");//换行
}
returnsb.toString();
}
  1. static void writeFile(String fileName,String text) throws IOException{  
  2.         FileWriter fw=new FileWriter(fileName);  //获取文件写入器  
  3.         BufferedWriter bw=new BufferedWriter(fw); //将文件写入器转成缓存写入器  
  4.         bw.write(text); //缓存写入器写入内容  
  5.         bw.close();  
  6.     } 

 大家知道这是什么流来实现的吗?以大家的智慧,用屁股都能知道,这个是用字符流来实现的。以后我们只要看到(reader,writer)这2个家伙,我们就知道了,他是字符流。我还写了一个非常牛逼的方法:copy文件,大家如果项目需要用到这个(肯定会的),可以直接拿去用,大家用爽了,请不要忘记我大佬琛啊···

staticvoidcopy(Filefrom,Fileto){
try{
FileInputStreamfis=newFileInputStream(from);
FileOutputStreamfos=newFileOutputStream(to);
BufferedInputStreambis=newBufferedInputStream(fis);
BufferedOutputStreambos=newBufferedOutputStream(fos);
intc;
while((c=bis.read())!=-1){
bos.write(c);
}
bis.close();
bos.close();
fis.close();
fos.close();
}catch(IOExceptione){
e.printStackTrace();
}
}

 

 

OK,今天的课结束了,是不是超级简单啊??

 

ps:我的梦想就是写一本java的书,我发现了现在全世界的java教学课本都非常非常枯燥乏味,看起来像吃屎那么恶心。我将来一定要写一本非常非常有趣的java教程,首先做成pdf放在网上,随便大家下载。

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: