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

自己做交易网站什么网站做家具外贸好呢

自己做交易网站,什么网站做家具外贸好呢,医院网站建设预算表,企业手机网站建设讯息参考链接#xff1a; Java中的字符流与字节流 Character Stream对比Byte Stream 菜鸟举例理解字节流和字符流区别 按照uft8编码方式存储文档 文档存储路径在D盘下 /** * 按照utf8格式存储文档 */ public static void storeDataByUTF8(){ String path D: …参考链接 Java中的字符流与字节流 Character Stream对比Byte Stream 菜鸟举例理解字节流和字符流区别  按照uft8编码方式存储文档  文档存储路径在D盘下  /** * 按照utf8格式存储文档 */ public static void storeDataByUTF8(){ String path D: File.separator textutf8.txt; File file new File(path); try { PrintWriter pw new PrintWriter(file,utf-8); for(int i0;i5;i){ pw.write(i:字节流与字符流\r\n); } pw.flush(); pw.close(); } catch (FileNotFoundException | UnsupportedEncodingException e) { e.printStackTrace(); } }  对比使用BufferedReader和FileInputStream按照byte读取文档(按照字节流方式读取)  使用BufferedReader按照byte读取文档代码如下  public static void readDataWithArray(){ String path D: File.separator textutf8.txt; File file new File(path); try{ FileInputStream fis new FileInputStream(file); InputStreamReader isr new InputStreamReader(fis,utf-8); BufferedReader in new BufferedReader(isr); byte[] b new byte[2048]; int temp 0; int len 0; while((tempin.read())!-1){  // -1是结束符 b[len] (byte)temp; if(len2047) len; else break; } in.close(); System.out.println(new String(b,0,len,utf-8)); }catch(Exception e){ e.printStackTrace(); System.out.println(While reading the data, the program threw out exceptions); } }  输出结果发生了乱码  0:W?AWA 1:W?AWA 2:W?AWA 3:W?AWA 4:W?AWA  FileInputStream按照byte读取文档代码如下  public static void readDataWithArray(){ String path D: File.separator textutf8.txt; File file new File(path); try{ FileInputStream in new FileInputStream(file); //InputStreamReader isr new InputStreamReader(fis,utf-8); //BufferedReader in new BufferedReader(isr); byte[] b new byte[2048]; int temp 0; int len 0; while((tempin.read())!-1){  // -1是结束符 b[len] (byte)temp; if(len2047) len; else break; } in.close(); System.out.println(new String(b,0,len,utf-8)); }catch(Exception e){ e.printStackTrace(); System.out.println(While reading the data, the program threw out exceptions); } }  输出结果正常  0:字节流与字符流 1:字节流与字符流 2:字节流与字符流 3:字节流与字符流 4:字节流与字符流  以上两段代码不同之处只是读取文本的流不同其他代码相同。要回答这个问题首先来理解一下为什么要编码  为什么要编码  不知道大家有没有想过一个问题那就是为什么要编码我们能不能不编码要回答这个问题必须要回到计算机是如何表示我们人类能够理解的符号的这些符号也就是我们人类使用的语言。由于人类的语言有太多因而表示这些语言的符号太多无法用计算机中一个基本的存储单元—— byte 来表示因而必须要经过拆分或一些翻译工作才能让计算机能理解。我们可以把计算机能够理解的语言假定为英语其它语言要能够在计算机中使用必须经过一次翻译把它翻译成英语。这个翻译的过程就是编码。所以可以想象只要不是说英语的国家要能够使用计算机就必须要经过编码。 所以总的来说编码的原因可以总结为  计算机中存储信息的最小单元是一个字节即 8 个 bit所以能表示的字符范围是 0~255 个人类要表示的符号太多无法用一个字节来完全表示要解决这个矛盾必须需要一个新的数据结构 char从 char 到 byte 必须编码  为什么两者的结果那么不同呢  在Java中byte是1个字节(8个bit)char是2个字节 最基础的流InputStream和OutputStream是按照字节读取的(byte)。  /** * Reads a byte of data from this input stream. This method blocks * if no input is yet available. * * return     the next byte of data, or code-1/code if the end of the *             file is reached. * exception  IOException  if an I/O error occurs. */ public int read() throws IOException { return read0(); }  但是BufferedReader类的read()方法返回的是char。所以没有处理好编码原因的第三个原因。  public class BufferedReader extends Reader { private char cb[];  // char数组的缓存 private int nChars, nextChar; ... /** * Reads a single character. * * return The character read, as an integer in the range *         0 to 65535 (tt0x00-0xffff/tt), or -1 if the *         end of the stream has been reached * exception  IOException  If an I/O error occurs */ public int read() throws IOException { synchronized (lock) { ensureOpen(); for (;;) { if (nextChar nChars) { fill(); if (nextChar nChars) return -1; } if (skipLF) { skipLF false; if (cb[nextChar] \n) { nextChar; continue; } } return cb[nextChar]; } } } }  举个详细的例子 按照 ISO-8859-1 编码字符串“I am 君山”用 ISO-8859-1 编码下面是编码结果   从上图看出7个char 字符经过ISO-8859-1 编码转变成7个byte 数组ISO-8859-1是单字节编码中文“君山”被转化成值是3f的byte。3f也就是“”字符所以经常会出现中文变成“”很可能就是错误的使用了 ISO-8859-1这个编码导致的。中文字符经过 ISO-8859-1编码会丢失信息通常我们称之为“黑洞”它会把不认识的字符吸收掉。由于现在大部分基础的 Java 框架或系统默认的字符集编码都是 ISO-8859-1所以很容易出现乱码问题。  以上总结只是举例了一个简单的例子希望能通过这个例子使得你对Java字节流和字符流的区别有个感性的认识。如果需要了解两者的区别强烈建议大家看看另一篇博客《深入分析 Java 中的中文编码问题》。  如果博客写得有什么问题请各请各位大神指出。
http://www.zqtcl.cn/news/453514/

相关文章:

  • 手机网站域名设置深圳的网站建设公司怎么样
  • 余姚网站建设设计服务cms网站源码
  • 工作是套模板做网站想做网站制作运营注册什么公司核实
  • 北京网站建设116networdpress导航栏下拉菜单
  • 医院网站建设的目标网络服务许可证
  • 市场部做网站工作职责晋江论坛网
  • 网站怎么吸引人网站优化策略分析
  • 河北建设厅网站衡水网站建设培训学校
  • 新网网站空间到期停了 咋续费网站营销推广应该怎么做
  • 网站建设和编辑实训报告安卓版网页制作软件
  • 网站模板框架站长资讯
  • 上海做网站哪家公司2022年国际国内重大新闻
  • 网站建设如何定位网站建设思路方向
  • 手机网站拦截怎么解除网站生成软件免费制作
  • 中国房地产网站茂名住房和城乡建设厅网站
  • 做网站销售工资怎么样网页设计是哪个专业
  • 吉林省住房城乡建设厅网站首页微商城模板包含哪些
  • 优秀个人网站案例wordpress 文章格式
  • 2019年做网站装修平面设计图的制作
  • 潍坊网站建设top淘宝客网站名
  • 怎么给网站做外链网上接效果图平台
  • 电影网站建设教程下载怎么经营团购网站
  • 做网站卖什么建设银信用卡网站首页
  • 大连市城乡建设档案馆网站网上竞价采购网站建设
  • 国际物流公司网站建设浏览器正能量网站免费图片
  • 河南做外贸网站的公司怎么做家庭网站
  • 知名营销类网站互联网软件开发是什么工作
  • 做网站前新闻录入网站模板
  • 网站域名做跳转要收费吗科技信息期刊
  • 登别的网站应怎么做网站推广广告词大全集