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

旅店网站建设规划书网站seo优化外包顾问

旅店网站建设规划书,网站seo优化外包顾问,东莞seo排名优化公司,安阳十大著名景点一.概念 以内存为基准,把磁盘文件中的数据以字节形式读入内存中 二.构造器 public FileInputStream(File file) public FileInputStream(String pathname) 这两个都是创建字节输入流管道与源文件接通 三.方法 public int read() :每次读取一个字节返回,如…

一.概念

以内存为基准,把磁盘文件中的数据以字节形式读入内存中

二.构造器

public FileInputStream(File file)

public FileInputStream(String pathname)

这两个都是创建字节输入流管道与源文件接通

三.方法

public int read() :每次读取一个字节返回,如果发现没有数据可读,返回-1。

public int read(byte[] buffer) :每次用一个字节数组读取数据,返回字节数组读取了多少字节,如果发现没有数据可读,返回-1.

四.执行

方法一:一个一个字节读

1.代码
package org.example;import java.io.*;public class day05 {public static void main(String[] args) throws IOException {//1.创建文件字节输入流管道与源文件接通:两种方法都行InputStream f1 = new FileInputStream(new File("D:\\temp\\day05\\a.txt"));InputStream f2 = new FileInputStream("D:\\temp\\day05\\a.txt");//2.读取文件的字节数据int b1 = f1.read();System.out.println(b1);System.out.println((char) b1);int b2 = f1.read();System.out.println(b2);System.out.println((char) b2);int b3 = f1.read();System.out.println(b3);}
}
2.结果

 

上面代码一个一个字节读太麻烦了,而且读取汉字会乱码,下面进行优化

方法二:循环读

1.代码
package org.example;import java.io.*;public class day05 {public static void main(String[] args) throws IOException {InputStream f1 = new FileInputStream("D:\\temp\\day05\\b.txt");int b; //用于记住读取的字节while((b = f1.read()) != -1){System.out.print((char)b);}f1.close();}
}

上面代码读取性能很差,且读取汉字会乱码,需要进一步改进 ;流使用完必须要关闭,释放系统资源。

2.结果

方法三:每次读取多个字节

1.代码
package org.example;import java.io.*;public class day05 {public static void main(String[] args) throws IOException {//b.txt内容:abcdefgInputStream f1 = new FileInputStream("D:\\temp\\day05\\b.txt");//开始读取文件中的字节数据,每次读取多个字节byte[] buffer = new byte[4];int len = f1.read(buffer);String s = new String(buffer);System.out.println(s);System.out.println("读取的字节数"+len);int len2 = f1.read(buffer);String s2 = new String(buffer);System.out.println(s2);System.out.println("读取的字节数"+len2);f1.close();}
}
2.结果

正常情况下,第二次读取的结果应该是efg而不是efgd

3.改进
package org.example;import java.io.*;public class day05 {public static void main(String[] args) throws IOException {//b.txt内容:abcdefgInputStream f1 = new FileInputStream("D:\\temp\\day05\\b.txt");//开始读取文件中的字节数据,每次读取多个字节byte[] buffer = new byte[4];int len = f1.read(buffer);String s = new String(buffer);System.out.println(s);System.out.println("读取的字节数"+len);int len2 = f1.read(buffer);String s2 = new String(buffer,0,len2);System.out.println(s2);System.out.println("读取的字节数"+len2);f1.close();}
}
4.结果 

这个代码有待优化,用循环进一步优化

 方法四:循环读取

1.代码
package org.example;import java.io.*;public class day05 {public static void main(String[] args) throws IOException {//b.txt内容:abcdefgInputStream f1 = new FileInputStream("D:\\temp\\day05\\b.txt");//开始读取文件中的字节数据,每次读取多个字节byte[] buffer = new byte[4];int len;while ((len = f1.read(buffer)) != -1) {String s = new String(buffer, 0, len);System.out.print(s);}f1.close();}
}
2.结果

 

五.问题 

上面代码读取性能提升了,但依旧在读取汉字上会产生乱码

解决方案一:定义一个与文件一样大的字节数组,一次性读取完文件的全部字节(不推荐)

 方法1

1.代码
package org.example;import java.io.*;public class day05 {public static void main(String[] args) throws IOException {//c.txt内容:我们在一起abcdInputStream f1 = new FileInputStream("D:\\temp\\day05\\c.txt");//这里的19可以用f1.length()获取byte[] buffer = new byte[19];int len;while ((len = f1.read(buffer)) != -1) {String s = new String(buffer, 0, len);System.out.print(s);}f1.close();}
}
2.结果

 

 方法2

1.代码
package org.example;import java.io.*;public class day05 {public static void main(String[] args) throws IOException {//c.txt内容:我们在一起abcdInputStream f1 = new FileInputStream("D:\\temp\\day05\\c.txt");final byte[] bytes = f1.readAllBytes();System.out.println(new String(bytes));}
}
2.结果

上面代码还有待优化,万一文件特别大,用readAllBytes()会抛出异常。

 

http://www.dinnco.com/news/45764.html

相关文章:

  • 代理网站地址谷歌搜索引擎免费入口
  • 网站开发文档合肥seo建站
  • 网站建设和数据库维护搜索引擎推广方式
  • 出售自己的网站软件外包公司排行
  • 兰州微网站建设百度业务范围
  • 页面设计高度杭州seo博客
  • wordpress后台504周口网站seo
  • 顺德网站建设合理使用颜色搭配_方能达到最佳视觉效果ks免费刷粉网站推广
  • 网站关键词优化的步骤山东进一步优化
  • 网站建设流程心得外贸seo软件
  • 网站建设做软件开发吗企业网络营销策划案
  • 凡科免费做网站网站建设哪个公司好
  • IT男做网站微信群推广网站
  • wordpress访问慢seo点击排名软件哪里好
  • 企业网站建设能解决什么问题企业营销咨询
  • 宁乡电商网站建设价格广告投放数据分析
  • wordpress使用邮箱验证东莞seo外包公司
  • wordpress分类设计企业seo网络推广
  • wordpress 打断点广州百度seo 网站推广
  • 阿里云 建设网站百度百度一下一下
  • spring做网站网店营销策略有哪些
  • django做的网站举例搜索引擎广告
  • 营销型网站建设培训百度做免费推广的步骤
  • 网站底部固定代码百度搜索引擎属于什么引擎
  • 网站怎么做推广站长工具流量统计
  • 东莞网站制作找哪里镇江交叉口优化
  • 深圳全网站建设公司网络安全培训机构哪家好
  • 零基础做网站教程年度关键词
  • 推荐一个免费网站域名解析在线查询
  • 网站的统计 怎么做最稳定的灰色词排名