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())!=-) {
            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 = ; i < ; 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="Аа Бб Вв Гг Дд Ее Ёё Жж Зз Ии Йй Кк Лл Мм Нн Оо Пп Рр Сс Тт Уу Фф Хх Цц Чч Шш Щщ Ъъ Ыы Ьь Ээ Юю Яя";
        ByteArrayOutputStream baos=new ByteArrayOutputStream();
        ByteArrayInputStream bais=new ByteArrayInputStream(eWen.getBytes());
        int n;
        while((n=bais.read())!=-) {
           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=;i<;i++) {
          bw.write(sc.nextInt()+"\n");
       }
       bw.close();
       BufferedReader br=new BufferedReader(new FileReader(new File("6.txt")));
       for(int i=;i<;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流将一个文本文件倒置输出
JavaSE习题 第九章 输入输出流的更多相关文章
- javaSE习题 第一章 JAVA语言概述
		
转眼就开学了,正式在学校学习SE部分,由于暑假放视频过了一遍,略感觉轻松,今天开始,博客将会记录我的课本习题,主要以文字和代码的形式展现,一是把SE基础加强一下,二是课本中有很多知识是视频中没有的,做 ...
 - javaSE习题 第二章 基本数据类型和数组
		
问答: 1.什么叫标识符,标识符的规则是什么? 用来标志类名,变量名,方法名,类型名,数组名,文件名的有效字符序列称为标识符. 规则:1.由字母,数字,下划线,美元组成.2.标识符第一个字符不能是数字 ...
 - 第27章 java I/O输入输出流
		
java I/O输入输出流 1.编码问题 import java.io.UnsupportedEncodingException; /** * java涉及的编码 */ public class En ...
 - [Effective Java]第九章 异常
		
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...
 - 第九章  C语言在嵌入式中的应用
		
上章回顾 编码的规范和程序版式 版权管理和申明 头文件结构和作用 程序命名 程序注释和代码布局规范 assert断言函数的应用 与0或NULL值的比较 内存的分配和释放细节,避免内存泄露 常量特性 g ...
 - [转]Windows Shell 编程 第九章 【来源:http://blog.csdn.net/wangqiulin123456/article/details/7987969】
		
第九章 图标与Windows任务条 如果问一个非程序人员Windows最好的特色是什么,得到的答案应该是系统最有吸引力的图标.无论是Windows98现在支持的通用串行总线(USB)还是WDM(看上去 ...
 - perl5 第九章 关联数组/哈希表
		
第九章 关联数组/哈希表 by flamephoenix 一.数组变量的限制二.定义三.访问关联数组的元素四.增加元素五.创建关联数组六.从数组变量复制到关联数组七.元素的增删八.列出数组的索引和值九 ...
 - 《Django By Example》第九章 中文 翻译 (个人学习,渣翻)
		
书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者@ucag 注:哈哈哈,第九章终于来啦 ...
 - 《汇编语言 基于x86处理器》第九章字符串与数组部分的代码
		
▶ 书中第九章的程序,主要讲了字符串相关的输入.输出,以及冒泡排序.二分搜索 ● 代码,Irvine32 中的字符串库函数代码范例 INCLUDE Irvine32.inc .data str1 BY ...
 
随机推荐
- Kattis之旅——Chinese Remainder
			
Input The first line of input consists of an integers T where 1≤T≤1000, the number of test cases. Th ...
 - django 动态生成PDF文件
			
可以通过开源的Python PDF库ReportLab来实现PDF文件的动态生成. 一.安装ReportLab ReportLab库在PyPI上提供,可以使用pip来安装: $ pip install ...
 - Mysql 存储过程中使用多游标
			
Mysql 存储过程中使用多游标 drop procedure IF EXISTS test_proc_1; create procedure test_proc_1() begin ; ) ; ) ...
 - 【题解】Luogu P2787 语文1(chin1)- 理理思维
			
原题传送门:P2787 语文1(chin1)- 理理思维 前置芝士:珂朵莉树 窝博客里对珂朵莉树的介绍 没什么好说的自己看看吧 珂朵莉树跑的飞快,但还是没有memset0小姐姐跑得快 操作1:暴力统计 ...
 - GitHub git 命令思维导图
			
GitHub git 命令思维导图 拖动图片至浏览器地址栏松手,点击回车看高清大图.
 - 批处理:根据进程名称查询进程,如果有进程就输出up没有就输出donw
			
需求:windows系统上 根据进程名称查询进程,如果有进程就输出 up ,没有就输出 donw. ::Final interpretation is owned by chenglee ::@e ...
 - VC++ 使用ShellExecute函数调用邮箱客户端发送邮件(可以带附件)
			
之前写过一篇博文,通过MAPI实现调用邮箱客户端发送邮件带附件,当时对ShellExecute研究不深,以为ShellExecute不能带附件,因为项目需求原因(MAPI只能调用Foxmail和O ...
 - LOIC
			
Pre: http://sourceforge.net/projects/loic Getting the Software To DDos, first your going to have to ...
 - 高通平台framework,hal,kernel打开log【转】
			
本文转载自:https://blog.csdn.net/u010164190/article/details/78625636 .Add framework log #define LOG_NDEBU ...
 - 远程调试Spring项目
			
目录 服务端启动: 启动jar包: 使用环境变量参数调试jar包: 使用mvnDebug启动SpringMVC项目: 使用mvn启动: 使用Tomcat,非嵌入式启动: 客户端设置: IDEA设置: ...