问答题

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.编写一个应用程序,读取一个文本文件的内容。

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

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

  1. public static void main(String[] args) throws IOException{
  2. FileWriter fw=new FileWriter("2.txt");
  3. BufferedWriter bw=new BufferedWriter(fw);
  4. String str;
  5. Scanner sc=new Scanner(System.in);
  6. for (int i = ; i < ; i++) {
  7. str=sc.nextLine();
  8. bw.write(str+"\n");
  9. }
  10. sc.close();
  11. bw.close();
  12. fw.close();
  13. }

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

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

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

  1. public static void main(String[] args) throws IOException{
  2. BufferedWriter bw=new BufferedWriter(new FileWriter(new File("6.txt")));
  3.  
  4. Scanner sc =new Scanner(System.in);
  5. for(int i=;i<;i++) {
  6. bw.write(sc.nextInt()+"\n");
  7. }
  8. bw.close();
  9. BufferedReader br=new BufferedReader(new FileReader(new File("6.txt")));
  10. for(int i=;i<;i++) {
  11. System.out.println(br.readLine());
  12. }
  13. br.close();
  14. sc.close();
  15. }

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

  1. public static void main(String[] args) throws IOException, ClassNotFoundException{
  2. LinkedList<String> ll=new LinkedList<>();
  3. ll.add("name");
  4. ll.add("age");
  5. ObjectOutputStream oos=new ObjectOutputStream(new FileOutputStream(new File("testOOs.txt")));
  6. oos.writeObject(ll);
  7. oos.close();
  8.  
  9. ObjectInputStream ois=new ObjectInputStream(new FileInputStream(new File("testOOS.txt")));
  10. LinkedList<String> ll2=(LinkedList<String>) ois.readObject();
  11. System.out.println(ll2);
  12. ois.close();
  13.  
  14. }

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

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

  1. javaSE习题 第一章 JAVA语言概述

    转眼就开学了,正式在学校学习SE部分,由于暑假放视频过了一遍,略感觉轻松,今天开始,博客将会记录我的课本习题,主要以文字和代码的形式展现,一是把SE基础加强一下,二是课本中有很多知识是视频中没有的,做 ...

  2. javaSE习题 第二章 基本数据类型和数组

    问答: 1.什么叫标识符,标识符的规则是什么? 用来标志类名,变量名,方法名,类型名,数组名,文件名的有效字符序列称为标识符. 规则:1.由字母,数字,下划线,美元组成.2.标识符第一个字符不能是数字 ...

  3. 第27章 java I/O输入输出流

    java I/O输入输出流 1.编码问题 import java.io.UnsupportedEncodingException; /** * java涉及的编码 */ public class En ...

  4. [Effective Java]第九章 异常

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  5. 第九章 C语言在嵌入式中的应用

    上章回顾 编码的规范和程序版式 版权管理和申明 头文件结构和作用 程序命名 程序注释和代码布局规范 assert断言函数的应用 与0或NULL值的比较 内存的分配和释放细节,避免内存泄露 常量特性 g ...

  6. [转]Windows Shell 编程 第九章 【来源:http://blog.csdn.net/wangqiulin123456/article/details/7987969】

    第九章 图标与Windows任务条 如果问一个非程序人员Windows最好的特色是什么,得到的答案应该是系统最有吸引力的图标.无论是Windows98现在支持的通用串行总线(USB)还是WDM(看上去 ...

  7. perl5 第九章 关联数组/哈希表

    第九章 关联数组/哈希表 by flamephoenix 一.数组变量的限制二.定义三.访问关联数组的元素四.增加元素五.创建关联数组六.从数组变量复制到关联数组七.元素的增删八.列出数组的索引和值九 ...

  8. 《Django By Example》第九章 中文 翻译 (个人学习,渣翻)

    书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者@ucag 注:哈哈哈,第九章终于来啦 ...

  9. 《汇编语言 基于x86处理器》第九章字符串与数组部分的代码

    ▶ 书中第九章的程序,主要讲了字符串相关的输入.输出,以及冒泡排序.二分搜索 ● 代码,Irvine32 中的字符串库函数代码范例 INCLUDE Irvine32.inc .data str1 BY ...

随机推荐

  1. Python基础二_操作字符串常用方法、字典、文件读取

    一.字符串常用方法: name.captitalize()                       #字符串首字母大写 name.center(50,'*')                   ...

  2. 瀑布流之ajax

    wf_js.html(展示页) <!DOCTYPE html> <html> <head> <meta charset="utf-8" / ...

  3. pxc 集群节点被kill -9 了拿什么拯救?

    集群关机或者异常宕机,重启后想要以IST的方式加入集群,需要考虑集群中是否存在满足的节点,该节点的gcache还存放着停机期间所产生的事物. 重新初始化节点加入集群应该是最后的救命稻草. 这里模拟某个 ...

  4. maven执行单元测试失败后,继续生成Jacoco&Sonar报告

    为保证生成单元测试覆盖 sonarqube或者jacoco与maven集成时,如果pom文件配置了sonarqube或者Jacoco的相关配置, 那么在pom文件所在目录执行mvn clean ins ...

  5. P3203 [HNOI2010]弹飞绵羊(LCT)

    P3203 [HNOI2010]弹飞绵羊 LCT板子 用一个$p[i]$数组维护每个点指向的下个点. 每次修改时cut*1+link*1就解决了 被弹出界时新设一个点,权为0,作为终点表示出界点.其他 ...

  6. CCF 推荐国际国内会议及中文核心期刊要目总览

    CCF 推荐国际国内会议及<中文核心期刊要目总览> Ref :http://www.ccf.org.cn/xspj/rgzn/ Notes: dblp 是一个好网站,上面有各种主要会议的论 ...

  7. 01:tcp/ip基本知识

    1.1 tcp常识 1.网络七层 2.TCP三层握手 ####1.第一次握手 # 建立连接时,客户端发送SYN包到服务器,其中包含客户端的初始序号seq=x,并进入SYN_SENT状态,等待服务器确认 ...

  8. springboot 事务回滚

    在springboot中,使用事务回滚时,添加@Transactional注解,然后在try-catch块中,发生异常时,在catch中 添加 TransactionAspectSupport.cur ...

  9. topcoder srm 705 div1 -3

    1.设有一个字母表$T$,对于一个单词$w$,若对于任意的$0\leq i< |w|-1$,满足$w_{i}$在$T$中的排名小于等于$w_{i+1}$在$T$中的排名,则称$s$在$T$中是合 ...

  10. uniGUI试用笔记(七)

    uniGUI的文件下载由于TUniSession的存在而变得非常简单,最典型的一个例子就是将列表中的所有数据导出到Excel中.服务器上采用TMS FlexCel控件,先将数据集中的记录导入到Exce ...