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

html5网站模板怎么用网站优化排名软件网站

html5网站模板怎么用,网站优化排名软件网站,帝国cms手机网站,做招聘网站赚钱么FileReader 使用read()方法读取单个字符,下面是如何修改使程序性能更好的过程。 第一种:处理异常方式为throws Testpublic void test() throws IOException {//读取hello.txt,并显示内容// 创建文件对象File file new File("hello.txt…

FileReader

使用read()方法读取单个字符,下面是如何修改使程序性能更好的过程。
第一种:处理异常方式为throws

 @Testpublic void test() throws IOException {//读取hello.txt,并显示内容// 创建文件对象File file = new File("hello.txt");// 读取数据// 输入型的字符流,用于读取数据FileReader fileReader = new FileReader(file);// 显示数据,read()读取单个字符// 方式1:
//        int data = fileReader.read();
//        while(data != -1){
//            System.out.print((char)data);
//            data = fileReader.read();
//
//        }// 方式2int data;while((data = fileReader.read()) != -1){System.out.print((char)data);}// 关闭流,否则造成内存泄漏fileReader.close(); // 由于使用到异常处理,可以看到当抛出异常之后,close可能就不能调用到这一步,所以应该用try,catch方法}

但是遇到异常就抛出了,无法进行到close(),因此使用try-catch-finally方法。

 @Testpublic void test1() {// 使用try catch finally 方式处理异常,确保流一定可以关闭// 快捷键,ctrl+T,添加外围的if等FileReader fileReader = null;try {File file = new File("hello.txt");fileReader = new FileReader(file);int data;while((data = fileReader.read()) != -1){System.out.print((char)data);}} catch (IOException e) {e.printStackTrace();} finally {try {// 更好的增加健壮性,再判断一下是否为空if (fileReader != null) fileReader.close();} catch (IOException e) {throw new RuntimeException(e);}}}

在读取显示这里,还可以改进,通过每次读取多个字符存到字符数组中,较少与磁盘交互的次数。
如下所示:

  @Testpublic void test1() {// 使用try catch finally 方式处理异常,确保流一定可以关闭// 快捷键,ctrl+T,添加外围的if等FileReader fileReader = null;try {File file = new File("hello.txt");fileReader = new FileReader(file);char [] cbuffer = new char[5];int len;while((len = fileReader.read(cbuffer)) != -1){for (int i = 0; i < len; i++){ // 不是 cbuffer.lengthSystem.out.print(cbuffer[i]);}}} catch (IOException e) {e.printStackTrace();} finally {try {// 更好的增加健壮性,再判断一下是否为空if (fileReader != null) fileReader.close();} catch (IOException e) {throw new RuntimeException(e);}}}

FileWriter

示例:

@Testpublic void test2() {// 读入操作// 创建文件FileWriter fw = null;try {File file = new File("write.txt");//fw = new FileWriter(file); // 覆盖文件使用的构造器fw = new FileWriter(file, true); // 现有基础上增加内容的构造器fw.write("I did do this.\n");fw.write("You are so glad.\n");} catch (IOException e) {throw new RuntimeException(e);} finally {try {if (fw != null)fw.close();} catch (IOException e) {throw new RuntimeException(e);} finally {}}}

执行步骤

  • 创建读取或写出的File类的对象
  • 创建输入流或输出流
  • 具体的读入或写出的过程
  • 关闭流资源,避免内存泄漏

图片,音频,视频是字节为单位进行存储的。不能用上面处理字符的进行操作。

FileInputStream、FileOutputStream

使用方法如下所示:

 @Testpublic void test() {FileInputStream fileInputStream = null;FileOutputStream fileOutputStream = null;try {// 不同于单纯的文字,实现图片的读取存放和复制// 创建相关的file类对象File srcFile = new File("test.jpg");File destFile = new File("test1.jpg");// 读入,写出fileInputStream = new FileInputStream(srcFile);fileOutputStream = new FileOutputStream(destFile);// 数据的读入和写出byte[] buffer = new byte[1024];int len;while((len = fileInputStream.read(buffer)) != -1){fileOutputStream.write(buffer, 0, len);}System.out.println("复制图片成功");} catch (IOException e) {e.printStackTrace();} finally {try {if(fileOutputStream != null)fileOutputStream.close();} catch (IOException e) {throw new RuntimeException(e);}try {if (fileInputStream != null)fileInputStream.close();} catch (IOException e) {throw new RuntimeException(e);}}}

也可以使用文件流实现文本复制。
注意:

  • 字符流只能用来操作文本,不能用来处理非文本文件;
  • 对于字节流,通常用来处理非文本文件,涉及文本文件复制操作也可以使用字节流。

处理流

缓冲流

作用:提升文件读写的效率
也是在四个抽象基类之上

  • BufferedInputStream
  • BufferedOutputStream
  • BufferedReader
  • BufferedWriter

示例:

 @Testpublic void test() {FileInputStream fis = null;FileOutputStream fos = null;BufferedInputStream bis = null;BufferedOutputStream bos = null; // 外层try {// 字节流测试File srcFile = new File("hello.txt");File destFile = new File("hello1.txt");// 创建输入输出fis = new FileInputStream(srcFile);fos = new FileOutputStream(destFile);bis = new BufferedInputStream(fis);bos = new BufferedOutputStream(fos);byte [] buffer = new byte[1024];int len;while((len = bis.read(buffer)) != -1){bos.write(buffer, 0, len);}} catch (IOException e) {e.printStackTrace();} finally {// 关闭,先关外层,再关内层// 外层流的关闭,也会对内层流自动关闭try {bos.close();} catch (IOException e) {throw new RuntimeException(e);}try {bis.close();} catch (IOException e) {throw new RuntimeException(e);}
//            fos.close();
//            fis.close();}}

转化流

对象流

了解数据流,只支持java基本数据类型和字符串的读写,不支持其他java对象的类型。
数据流:

  • DataInputStream
  • DataOutputStream

对象流:
ObjectInputStream
ObjectOutputStream

对象的序列化机制:
允许把内存中的Java对象转换成平台无关的二进制流,从而可以把这种二进制持久地保存在磁盘上,或通过网络将其传输到另一个网络节点,当其他程序获得了这种二进制流,就可以恢复成原来的java对象。

  • 序列化过程:ObjectOutputStream
  • 反序列化过程:ObejectInputStream
http://www.hotlads.com/news/3304.html

相关文章:

  • 哈尔滨商城网站建设做百度推广的业务员电话
  • 网站模板怎么做seo推广灰色词
  • 哈尔滨网站建设30t个人免费开发网站
  • 做网站好多钱爱链接
  • 二级网站建设银川seo
  • 网站建设需要多少合肥seo推广排名
  • 自己做网站 怎么赚钱什么是网络销售
  • 免费做网站怎么盈利网络营销最基本的应用方式是什么
  • 做网站每年运营要花掉多少钱网络热词2021流行语
  • 网站开发程序介绍竞价推广
  • 小程序制作教学电商seo优化是什么
  • 企业公司黄页大全学seo推广
  • 中国企业黄页信息网西安seo推广公司
  • 电子商务网站建设可运用的技术广告软文外链平台
  • 深圳市光明区住房和建设局官网seo技术建站
  • 做网站首页图的规格免费宣传网站
  • 意大利做包招工的网站友情链接代码美化
  • wap网站建设策划方案百度保障客服电话
  • 有哪些专门做创意门头的网站优化关键词排名工具
  • 西安西工大软件园做网站的公司百度销售
  • 地下城钓鱼网站怎么做网站开发是做什么的
  • 如何在网站上做飘窗链接游戏优化大师手机版
  • 大学科研项目做网站重庆seo网站系统
  • 上海网站建设推广服务互联网营销推广渠道
  • 微网站用什么做长春做网站推荐选吉网传媒好
  • 电子商务网站建设预算seo公司推荐推广平台
  • 深圳网站制作黄页推广2021
  • 咨询网站 模板aso优化重要吗
  • 网站做强制解析广州百度推广外包
  • 网站开发的有哪些好的软件上海网络推广需要多少