ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Java连载155-IO总结(二)

2021-12-23 02:06:26  阅读:207  来源: 互联网

标签:Java try printStackTrace IO new catch 155 byte getBytes


一、四种方式分别举例

1.FileInputStream

  InputStream is = null;
  String address = "E:\\d05_gitcode\\Java\\newJava\\src\\com\\newJava\\newFile.txt";
  int b;
  try {
   is = new FileInputStream(address);
   while ((b = is.read()) != -1) {  // 可以看出是一个字节一个字节读取的
    System.out.println((char)b);
   }

  } catch (Exception e) {
   e.printStackTrace();
  } finally {
   try {
    is.close();
   } catch (IOException e) {
    e.printStackTrace();
   }
  }

155.1
155.1
  • 可以看出字符是占用至少两个字节的,我们打出的都是一堆问号,这是只打印出了一个字节,而不是字符

2.FileOutputStream

  FileOutputStream fis = null;
  try {
   fis = new FileOutputStream(address);
   fis.write("有点优秀".getBytes()); // getBytes()获取这个字符串的byte数组,下面的toCharArray()获取字符数组
   fis.close();
  } catch (IOException e) {
   e.printStackTrace();
  }
  • 这里利用了字符串带有函数getBytes(),返回了一个Byte数组,传入这个字节数组,下面的FileWriter就是传入的char数组 155.2

3.FileReader

  FileReader fr = null;
  try {
   fr = new FileReader(address);
   while((b = fr.read()) != -1) {
    System.out.println((char)b);
   }
  } catch (IOException e) {
   e.printStackTrace();
  }

155.3
155.3
  • 这个就把字符给显示出来了

4.FileWriter

  FileWriter fw = null;
  char[] arargs = "太牛逼了".toCharArray();
  try {
   fw = new FileWriter(address);
   fw.write(arargs, 0, arargs.length);
   fw.close();
  } catch (IOException e) {
   e.printStackTrace();
  }
155.4
155.4

5.ByteArrayInputStream

  try {
   byte[] arr = "厉害了".getBytes(StandardCharsets.UTF_8);
   InputStream is2 = new BufferedInputStream(new ByteArrayInputStream(arr));
   byte[] flush = new byte[1024];
   int len = 0;
   while((len = is2.read(flush)) != -1) {
    System.out.println(new String(flush, 0, len));
   }
  } catch(Exception e) {
   e.printStackTrace();
  }

6.ByteArrayOutputStream

  try {
   ByteArrayOutputStream baos = new ByteArrayOutputStream();
   byte[] info = "厉害了".getBytes();
   baos.write(info, 0, info.length);
   byte[] dest = baos.toByteArray();
   baos.close();
   } catch(Exception e) {
   e.printStackTrace();
  }

二、源码:

标签:Java,try,printStackTrace,IO,new,catch,155,byte,getBytes
来源: https://www.cnblogs.com/ruigege0000/p/15721781.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有