黑马程序员技术交流社区

标题: IO流中,FileInputStream的read(byte[] b)方法 [打印本页]

作者: 王艳静    时间: 2015-8-26 22:44
标题: IO流中,FileInputStream的read(byte[] b)方法
本帖最后由 王艳静 于 2015-8-26 22:50 编辑
  1. /**
  2. * Test5--定义一个文件输入流,调用read(byte[] b)方法将exercise.txt文件中的所有内容打印出来(byte数组的大小限制为5)。
  3. * @author Wang
  4. */
  5. public class Test5 {

  6. public static void main(String[] args) throws IOException {
  7.   FileInputStream fis = new FileInputStream("exercise.txt");
  8.   byte[] by = new byte[5];
  9.   int len ;
  10.   while((len=fis.read(by))!=-1){
  11.    System.out.print(new String(by,0,len));
  12.   }
  13.   fis.close();
  14. }
  15. }
复制代码

第三种情况的代码
  1. /**
  2. * Test5--定义一个文件输入流,调用read(byte[] b)方法将exercise.txt文件中的所有内容打印出来(byte数组的大小限制为5)。
  3. * @author Wang
  4. *
  5. */
  6. public class Test5 {

  7. public static void main(String[] args) throws IOException {
  8.   FileInputStream fis = new FileInputStream("exercise.txt");
  9.   FileOutputStream fos = new FileOutputStream("exercise-copy.txt");
  10.   byte[] by = new byte[5];
  11.   int len ;
  12.   while((len=fis.read(by))!=-1){
  13.    fos.write(by, 0, len);
  14. //         System.out.print(new String(by,0,len));
  15.   }
  16.   fis.close();
  17.   fos.close();
  18. }

  19. }
复制代码
求大神,指点问题在哪?小妹理不清思路了



clipboard.png (112.31 KB, 下载次数: 0)

第一种情况,当定义字节数组大小分别为5,6,10,30会出现乱码情况

第一种情况,当定义字节数组大小分别为5,6,10,30会出现乱码情况

clipboard.png (117.22 KB, 下载次数: 1)

第二种情况当定义字节数组大小为1024时,则正常打印

第二种情况当定义字节数组大小为1024时,则正常打印

clipboard.png (128.83 KB, 下载次数: 0)

第三种情况,设置字节数组大小为5,将内容用FileOutputStream输出流输出至另一个文件,则显示文字正常,无 ...

第三种情况,设置字节数组大小为5,将内容用FileOutputStream输出流输出至另一个文件,则显示文字正常,无 ...





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2