zoukankan      html  css  js  c++  java
  • day23作业-houjx

     

    IO流作业

    一、              填空题

    1. Java IO流按操作类型分为    输入流     和 _输出流__________ 。
    2. 输入流的唯一目的是提供通往数据的通道,程序可以通过这个通道读取数据, read   方法给程序提供了一个从输入流中读取数据的基本方法。
    3. read方法从输入流中顺序读取源中的单个字节数据,该方法返回字节值(0-255之间的一个整数),如果到达源的末尾,该方法返回   -1      
    4. Java系统的标准输入对象是System.in,标准输出对象有两个,分别是标准错误输出System.err和标准输出 _______System.out_______。
    5. Java IO体系中,______FileInputSteam________是字节输入流,不仅提供了存取所有Java基础类型数据(如:int,double 等)和String的方法,也提供了提供存取对象的方法。
    6. Java IO体系中,____FileOutputStream____是字节输出流,提供了可以存取所有Java基础类型数据(如:int,double 等)和String的方法,但没有提供存取对象的方法。

     

    二、              简答题

    1. 输入流和输出流的联系和区别,字符流和字节流的联系和区别

    两者都是对数据进行传输的,输入流是将数据读取到内存,输出流是将数据从内存写到硬盘;

    两者都是将数据转换成对应类型进行传输,字符流只能传输文本文档,字节流都可以,但是字节流传输中文时可能造成乱码; 

      2.列举常用的字节输入流和字节输出流并说明其特点,至少5对。

    ByteArrayInputStream, FileInputStream, FilterInputStream,      InputStream, ObjectInputStream, PipedInputStream,

    ByteArrayOutputStream, FileOutputStream, FilterOutputStream, OutputStream, ObjectOutputStream, PipedOutputStream

      3.说明缓冲流的优点和原理

    缓冲流可以一次性读取大量数据,减少数据传输次数 增加传输速度

    原理:缓冲流将读取到的数据存入自身的缓冲区内存 ,内存满后再传入到文件.

     

    三、              编码题

    1. 实现字符串和字节数组之间的相互转换。必如将字符串“北京最课程bjzkc”转换为字节数组,并将字节数组再转换回字符串。
    package com.zuikc.homeWork;
    
     
    
    public class Test1 {
    
           public static void main(String[] args) throws Exception {
    
    //                  1.            实现字符串和字节数组之间的相互转换。必如将字符串“北京最课程bjzkc”转换为字节数组,并将字节数组再转换回字符串。
    
                           String str = "北京最课程bjzkc";
    
                           byte[] by = str.getBytes();
    
                           for (byte b : by) {
    
                                           System.out.println(b);
    
                           }
    
                           String s = new String(by);
    
                           System.out.println(s);
    
           }
    
    }

    2.分别使用文件流和缓冲流复制一个长度大于100MB的视频文件,并观察效率的差异。

    package com.zuikc.iosteam;
    
     
    
    import java.io.BufferedInputStream;
    
    import java.io.BufferedOutputStream;
    
    import java.io.FileInputStream;
    
    import java.io.FileNotFoundException;
    
    import java.io.FileOutputStream;
    
     
    
    public class Demo {
    
     
    
                 public static void main(String[] args) throws Exception {
    
    FileInputStream fis = new FileInputStream("谢谢你.mp4");
    
                                 FileOutputStream fos = new FileOutputStream("谢谢你copy.mp4");
    
                                 byte[] arr = new byte[1024*8];
    
                                 int len;
    
                                 while((len = fis.read(arr)) != -1) {
    
                                                 fos.write(arr, 0, len);
    
                                 }
    
                                
    
                                 fis.close();
    
                                 fos.close();
    
     
    
                                 FileInputStream fis = new FileInputStream("谢谢你.mp4");
    
                                 FileOutputStream fos = new FileOutputStream("谢谢你copy.mp4");
    
                                
    
                                 BufferedInputStream bis = new BufferedInputStream(fis);
    
                                 BufferedOutputStream bos = new BufferedOutputStream(fos);
    
                                
    
                                
    
                                 int b;
    
                                 while((b = bis.read()) != -1){
    
                                                 bos.write(b);
    
                                 }
    
                                
    
                                 bis.close();
    
                                 bos.close();
    
                 }
    
     
    
    }

     

  • 相关阅读:
    sql 内链接
    使用python 写一个自动windows桌面壁纸的程序
    在windows使用pyinstall 打包 flask 再使用nsis软件打包成安装包
    超微主板ibm密码
    jenkins邮件模板
    gp集群常用命令
    shell小知识
    Linux配置免密
    文件基础命令
    华为初识命令
  • 原文地址:https://www.cnblogs.com/houjx/p/9457405.html
Copyright © 2011-2022 走看看