zoukankan      html  css  js  c++  java
  • JavaSE习题 第九章 输入输出流

    问答题

    1.如果准备读取一个文件的内容,应该使用FileInputStream还是FileOutputStream?

    FileInputStream

    2.FileInputStream流的read()方法与FileReader流的read()方法有何不同?

    FIleInputStream的read可以读一个字节,而FileReader中的read可以读一个字符

    3.BufferedReader流能指向一个文件对象吗?

    不能

    4.ByteArrayOutputStream流怎样获取缓冲区的内容?

    获取byte数组的字节单元

    5.PipedInputStream类和PipedOutputStream类的主要用途是什么?

    换线程进行管道输入输出

    6.使用ObjectInputStream类和ObjectOutputStream有哪些注意事项?

    保证对象是序列化的,要实现Serializable

    7.怎样使用输入流和输出流及技术克隆对象?

    8.使用RandomAccessFile类读写文件的好处是什么?

    可以获取文件指针

    作业题

    1.编写一个应用程序,读取一个文本文件的内容。

    public static void main(String[] args) throws IOException{
            FileInputStream fis=new FileInputStream(new File("1.txt"));
            int b;
            while((b=fis.read())!=-1) {
                System.out.print((char)b);
            }
            fis.close();
        }

    2.编写一个应用程序,将用户键盘输入的10行文字存入文件

    public static void main(String[] args) throws IOException{
            FileWriter fw=new FileWriter("2.txt");
            BufferedWriter bw=new BufferedWriter(fw);
            String str;
            Scanner sc=new Scanner(System.in);
            for (int i = 0; i < 10; i++) {
                str=sc.nextLine();
                bw.write(str+"
    ");
            }
            sc.close();
            bw.close();
            fw.close();
        }

    3.使用数组字符流将俄文字母写入内存,再从内存取出

    public static void main(String[] args) throws IOException{
            String eWen="Аа Бб Вв Гг Дд Ее Ёё Жж Зз Ии Йй Кк Лл Мм Нн Оо Пп Рр Сс Тт Уу Фф Хх Цц Чч Шш Щщ Ъъ Ыы Ьь Ээ Юю Яя";
            ByteArrayOutputStream baos=new ByteArrayOutputStream();
            ByteArrayInputStream bais=new ByteArrayInputStream(eWen.getBytes());
            int n;
            while((n=bais.read())!=-1) {
               baos.write(n);
            }
            System.out.println(baos.toString());
        }

    4.编写一个应用程序,将用户从键盘输入的10个整数存入文件,再顺序读出

    public static void main(String[] args) throws IOException{
           BufferedWriter bw=new BufferedWriter(new FileWriter(new File("6.txt")));
    
           Scanner sc =new Scanner(System.in);
           for(int i=0;i<10;i++) {
              bw.write(sc.nextInt()+"
    ");
           }
           bw.close();
           BufferedReader br=new BufferedReader(new FileReader(new File("6.txt")));
           for(int i=0;i<10;i++) {
               System.out.println(br.readLine());
            }
           br.close();
           sc.close();
        }

    5.编写一个应用程序,要求将一个LinkedList<E>创建的对象写入文件,再读出一个LinkedList<E>对象,并遍历LinkedList<E>节点中的数据

        public static void main(String[] args) throws IOException, ClassNotFoundException{
            LinkedList<String> ll=new LinkedList<>();
            ll.add("name");
            ll.add("age");
            ObjectOutputStream oos=new ObjectOutputStream(new FileOutputStream(new File("testOOs.txt")));
            oos.writeObject(ll);
            oos.close();
    
            ObjectInputStream ois=new ObjectInputStream(new FileInputStream(new File("testOOS.txt")));
            LinkedList<String> ll2=(LinkedList<String>) ois.readObject();
            System.out.println(ll2);
            ois.close();
            
        }

    6.使用RandomAccessFile流将一个文本文件倒置输出

  • 相关阅读:
    66. Plus One
    Binder
    Activity启动模式笔记整理
    ANR和FC
    java之yield(),sleep(),wait()区别详解-备忘笔记
    Http方法:Get请求与Post请求的区别
    BroadcastReceiver的用法笔记
    java笔记
    Leetcode -- Day 17 & Day 18 & Day 19
    Leetcode -- Day 14&Day15&Day16&Day17
  • 原文地址:https://www.cnblogs.com/littlepage/p/9940328.html
Copyright © 2011-2022 走看看