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+"\n");
        }
        sc.close();
        bw.close();
        fw.close();
    }

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

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

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

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

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

原文地址:https://www.cnblogs.com/littlepage/p/9940328.html

时间: 2024-11-05 14:54:07

JavaSE习题 第九章 输入输出流的相关文章

《C++编程思想》第六章 输入输出流介绍(习题+解答)

一.相关知识点 操纵算子 这里已经添加了一个新的元素:一个称作 endl的操纵算子.一个操纵算子作用于流上,这种情况下,插入一新行并清空流(消除所有存储在内部流缓冲区里的还没有输出的字符).也可以只清空流: cout<<flush: 另外有一个基本的操纵算子把基数变为 oct (八进制), dec (十进制)或hex (十六进制): cout<<hex<<"0x"<<i<<endl: 有一个用于提取的操纵算子"跳过&

【ThinkingInC++】72、输入输出流

第四章 输入输出流 Strfiile.cpp /** * 书本:[ThinkingInC++] * 功能:一个文件的输入输出流 * 时间:2014年10月12日15:15:59 * 作者:cutter_point */ #include <iostream> //很多平台上<fstream>会自动包含<iostream>但是不是所有 #include <fstream> #include "../require.h" using name

第九章: 输入与输出

@font-face{ font-family:"Times New Roman"; } @font-face{ font-family:"宋体"; } @font-face{ font-family:"Arial"; } @font-face{ font-family:"黑体"; } @font-face{ font-family:"微软雅黑"; } p.MsoNormal{ mso-style-name

Learning Perl 第九章习题第二题

把输入文件中的所有Fred换成Larry, 不区分大小写. 知识点 1. 文本文件读写 2. 简单的正则替换 3. unless 的用法 4. $_ 的用法 Learning Perl 第九章习题第二题,布布扣,bubuko.com

第九章:IO流

第九章:IO流 File类 java.io.File类:表示文件或目录.常用方法:getName()getPath()getAbsolutePath()length()isFile()isDirectory()listFiles()mkdir()/mkdirs()createNewFile().... 流的原理和分类 按照方向分:输入流和输出流 按照读写单位:字节流和字符流 按照功能:节点流和处理列 字节输入流和字节输出流(节点流) 字节输入:InputStream InputStream抽象类

2017上半年软考 第九章 重要知识点

第九章 项目成本管理 项目的成本管理就是要确保在批准的预算内完成项目p347 项目失控的原因? 项目成本管理包括什么过程?p349 [][]相关术语 成本类型有哪些? 应急储备和管理储备的区别? 成本基准是什么?p349 []制定项目成本管理计划 制定成本管理计划的内容是什么?p350 [][]制定成本管理计划的工具 制定成本管理计划的工具有什么? [][]制定成本管理计划的输出 []项目成本估算 [][]成本估算的步骤 成本估算的3个主要步骤是?p354 [][]成本估算的工具p355 [][

APUE学习笔记:第九章 进程关系

9.1 引言 本章将更详尽地说明进程组以及POSIX.1引入的会话的概念.还将介绍登陆shell(登录时所调用的)和所有从登陆shell启动的进程之间的关系. 9.1 终端登陆 系统管理员创建通常名为/etc/ttys的文件,其中每个终端设备都有一行,每一行说明设备名传递给getty程序的参数.当系统自举时,内核创建进程ID为1的进程,依旧是init进程.init进程使系统进入多用户状态.init进程读文件/etc/ttys,对每一个允许登陆的终端设备,init调用一次fork,所生成的子进程则

读《软件调试》第九章

Tomcat源码学习前的准备工作 注:由于网上的帖子大部分没有配套的图片和错误的分析,所有费了半天劲整理了此篇博客,希望大家少走弯路吧 下面我们就开始我们的Tomcat源码学习之旅. 1. 下载Tomcat6.0的源代码 首先,我们得下载Tomcat6.0的源代码.Tomcat源代码的版本控制工具不是CVS,而是Subversion,如果您的机器上没有安装Subversion,请从http://subversion.tigris.org/servlets/ProjectDocumentList?

第九章、文件与文件系统的压缩与打包 3. 打包命令: tar

打包命令: tar gzip 与 bzip2 也能够针对目录来进行压缩, 不过,这两个命令对目录的压缩指的是『将目录内的所有文件 "分别" 进行压缩』! 将多个文件或目录包成一个大文件的,『打包命令』 tar [[email protected] ~]# tar [-j|-z] [cv] [-f 创建的档名] filename... <==打包与压缩 [[email protected] ~]# tar [-j|-z] [tv] [-f 创建的档名] <==察看档名 [[e