当前位置: 首页 > news >正文

深圳定制网站建设想学互联网从哪里入手

深圳定制网站建设,想学互联网从哪里入手,开源商城,wordpress速度慢啊Java学习-IO流-字符流-FileReader 字符流 字节流 字符集 输入流:默认一次读一个字节,遇到中文时一次读多个字节 输出流:底层把数据按照指定编码方式编码,变成字节写入文件 使用场景:纯文本文件读写 // …

Java学习-IO流-字符流-FileReader

字符流 = 字节流 + 字符集
输入流:默认一次读一个字节,遇到中文时一次读多个字节
输出流:底层把数据按照指定编码方式编码,变成字节写入文件
使用场景:纯文本文件读写

//                  IO流体系
//                 ↙       ↘
//          字节流              字符流
//         ↙   ↘             ↙   ↘
//InputStream OutputStream Reader Writer
//         字符流
//        ↙   ↘
//  Reader	     Writer
//     ↓           ↓
//FileReader	FileWriter

FileReader:操作本地文件的字符输入流
FileWriter:操作本地文件的字符输出流

FileReader

1.创建字符输入流对象
public FileReader(FIle file):创建字符输入流关联本地文件
public FileReader(String pathname):创建字符输入流关联本地文件
注:如果文件不存在,直接报错

2.读取数据
public int read():读取数据,读到末尾返回-1
public int read(char[] buffer):读取多个数据,读到末尾返回-1
注:按字节进行读取,遇到中文一次读多个字节,读取后解码,返回一个整数

3.释放资源
public int close():释放资源/关流

空参read()

例:
xx.txt :生活是默默地坚持,毅力是永久的享受。

FileReader fr = new FileReader("...\\xx.txt");
int ch;
while((ch=fr.read())!=-1){sout(ch+" ");
}
//→ 29983 27963 26159 40664 40664 22320 22362 25345 65292 27589 21147 26159 27704 20037 30340 20139 21463 12290
fr.close();

read()底层:
1.默认每次读取一个字节,遇到中文一次读取多个字节
2.读取之后,解码并转成十进制,作为返回值

FileReader fr = new FileReader("...\\xx.txt");
int ch;
while((ch=fr.read())!=-1){sout(char(ch));
}
//→ 生活是默默地坚持,毅力是永久的享受。
fr.close();

带参read()

FileReader fr = new FileReader("..\\xx.txt");
char[] chars = new char[2];
int len;
while((len=fr.read(chars))!=-1){sout(new String(chars,0,len));
}
//→ 生活 \n 是默 \n 默地 \n 坚持 \n ,毅 \n 力是 \n 永久 \n 的享 \n 受。
fr.close();

read()底层原理

空参read():读取数据,解码,返回数字
带参read():读取数据,解码,强转,放到数组中

字符输入流底层原理详解

1.创建字符输入流对象
底层:关联文件,并创建缓冲区,缓冲区大小8192字节
2.读取数据
底层:2.1.判断缓冲区中是否有数据可以读取
2.2.缓冲区中没有数据:从文件中获取数据,装到缓冲区,每次尽可能把缓冲区装满,如果文件中没有数据,返回-1
2.3.缓冲区中有数据:从缓冲区中读取数据
空参read():一次读取一个字节,遇到中文一次读取多个字节,把字结解码转成十进制返回
有参read():读取字节,解码,强转成字符存入数组

//xx.txt:8192个a + bcdefg
FileReader fr = new FileReader("..\\xx.txt");
fr.read();//8192个a存入缓冲区
FileWriter fw = new FileWriter("..\\xx.txt");//清空文件
int ch;
while((ch = fr.read())!=-1){sout(char(ch));}
fw.close();
fr.close();

只输出8192个a,这8192个a在文件清空之前已存入缓冲区;不会输出bcdefg,因为已经被清空。

http://www.ds6.com.cn/news/29100.html

相关文章:

  • 长沙网页设计培训推荐沙大计教育专业seo网络推广招聘
  • 赛马软件网站开发线上营销有哪些
  • 网站公司做网站修改会收费吗太原百度网站快速排名
  • 管理网站建设武汉seo哪家好
  • vi设计百科太原seo关键词优化
  • 网站原创文章在哪里找开鲁seo服务
  • 衡水专业做wap网站网页推广链接怎么做
  • 二级目录 网站青岛网站设计公司哪家好
  • 网站制作主题思路网上推广产品怎么做
  • 用discuz做商城网站seo优化系统
  • 电商网站建设服务平台杭州百度seo优化
  • 化工企业网站模板 aspxseo日常工作
  • https部署 wordpress网站外部优化的4大重点
  • 国务院测一测可以在网站上做吗在哪里找专业推广团队
  • 做红酒的网站有哪些搜索引擎推广方案案例
  • 网站建设趋势网络推广的方法包括
  • 把网站做进微信公众号百度下载app
  • 网站做facebook推广福州短视频seo
  • 漯河做网站推广北京网站托管
  • 如何购买网站虚拟主机最近新闻热点
  • 网站访问大小今天株洲最新消息
  • 零基础网站建设成都全网推广哪家专业
  • 如何用ftp做网站环球网疫情最新
  • 铜陵高端网站建设爱站官网
  • 研学网站平台建设方案百度如何收录网站
  • 网站建设的整体设计流程web网页制作成品免费
  • 教做月嫂的网站有吗百度大数据平台
  • 企业建站 源码51网站统计
  • 杭州萧山网络seo排名优化软件
  • 网站建设基础实验1旺道seo推广有用吗