IO框架

字符编码,File类

1.(File类)

以下关于 File 类说法正确的是:
A. 一个 File 对象代表了操作系统中的一个文件或者文件夹
B. 可以使用 File 对象创建和删除一个文件
C. 可以使用 File 对象创建和删除一个文件夹
D. 当一个 File 对象被垃圾回收时,系统上对应的文件或文件夹也被删除
ABC

2.(File类)

2.将下列代码补充完整 class TestMyFile{public static void main(String args[]) throws Exception{ File file;//创建一个 File 对象表示当前目录下的“hello.txt”文件//判断该文件是否存在//如果该文件存在,则输出该文件的完整路径}
}
import java.io.File;public class TestMyFile {public static void main(String args[]) throws Exception {File file;// 创建一个 File 对象表示当前目录下的“hello.txt”文件file = new File("hello.txt");// 判断该文件是否存在// 如果该文件存在,则输出该文件的完整路径if (file.exists()) {System.out.println(file.getAbsolutePath());}}
}

10.(字符流、桥转换)

10.要想从某个文件中获得一个字符输出流,则至少有以下三种方式:
A.利用 FileWriter 类
B.利用 PrintWriter 类
C.利用 FileOutputStream 类,并通过 OutputStreamWriter 类获得 Writer 请简述这三种方式获得 Writer 的区别。
FileWriter可以直接读取文件,可以直接写入字符串
FileWriter fw = new FileWriter(new File("c:\a.txt"));
PrintWrite加一个TRUE可以自动刷新缓冲区
PrintWriter pw = new PrintWriter(fw);
FileOutStream活动的是字节
fileoutputstream fos = new FileOutputStream(“newPoem.txt”);
OutputStreamWriter osw = new OutputStreamWriter(fos,”UTF-8″);

11.(字节流、字符流)

以下几种文件格式,应当使用字节流还是字符流?
I..java 源文件
AI..class 字节码文件
BI..html 网页文件
IV. .jpg 图像文件
V..mp3 音乐文件
字节流【2、4、5】
字符流【1、3】

12.(过滤流)

连线题。把过滤流和相应的功能用线连起来。注意,左右两边不是一一对应的关系。
ObjectInputStream               字节流
ObjectOutputStream              字符流
BufferInputStream               读八种基本类型
BufferedOutputStream            写八种基本类型
DataInputStream                 读对象
DataOutputStream                写对象
PrintWriter                     缓冲功能
PrintStream                     读入一行文本
BufferedReader                  写字符串并换行
ObjectInputStream(E)            A字节流
ObjectOutputStream(F)           B字符流
BufferInputStream(AG)           C读八种基本类型
BufferedOutputStream(AG)        D写八种基本类型
DataInputStream(AC)             E读对象
DataOutputStream(AD)            F写对象
PrintWriter(BJI)                G缓冲功能
PrintStream(A)                  H读入一行文本
BufferedReader(BGH)             I写字符串并换行
BufferedWriter(BGj)             J写字符串

14.(字符流、桥转换)

完成下面功能
事先在当前目录下准备好一个 test.txt 的文本文件,要求该文本文件是使用 GBK 编码的多行文本文件。
如:test.txt
窗前明月光
疑是地上霜
举头望明月
低头思故乡
利用字节流+桥转换读入这个文本文件,按照行的顺序,以 UTF-8 编码方式,写到 test2.txt 文件中。
例:test2.txt
低头思故乡
举头望明月
疑是地上霜
窗前明月光
package com.qf.day33.t1.works;import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;public class TestPoem {public static void main(String[] args) throws Exception {//要求倒叙!//集合List<String> list = new ArrayList<String>();FileInputStream fis = new FileInputStream("F:\\test.txt");InputStreamReader isr  = new InputStreamReader(fis,"UTF-8");BufferedReader br = new BufferedReader(isr);String line;while((line = br.readLine())!=null){//每次循环读到了一行有效数据list.add(line);//按照顺序添加到集合中}FileOutputStream fos = new FileOutputStream("F:\\test2.txt");OutputStreamWriter osw = new OutputStreamWriter(fos,"UTF-8");PrintWriter pw = new PrintWriter(osw);for(int i = list.size()-1;i>=0;i--){pw.println(list.get(i));}br.close();pw.close();}}

17.(字节流,BufferedReader)

完成下面操作。
在当前目录下创建一个 worldcup.txt 的文本文件,其格式如下:
2006/意大利
2002/巴西
…
该文件采用“年份/世界杯冠军”的方式保存每一年世界杯冠军的信息。
要求:读入该文件的基础上,让用户输入一个年份,输出该年的世界杯冠军。如果该年没有举办世界杯,则输出“没有举办世界杯”
public class Test14 {static void write(String[] str) throws IOException {int year = 2006;for (int i = 0; i < str.length; i++) {str[i] = str[i] + "/" + year;year = year - 4;}BufferedWriter bw = new BufferedWriter(new FileWriter("worldcup.txt"));for (int i = 0; i < str.length; i++) {bw.write(str[i]);bw.newLine();}bw.close();}static void read() throws IOException {Scanner a = new Scanner(System.in);String s = a.next();BufferedReader br = new BufferedReader(new FileReader("worldcup.txt"));boolean flag = false;String str = null;String strarr[] = new String[2];while ((str = br.readLine()) != null) {strarr = str.split("/", 2);if (strarr[1].equals(s)) {flag = true;System.out.println(strarr[0]);}}if (!flag) {System.out.println("没有举办过世界杯");}br.close();}public static void main(String args[]) throws Exception {String str[] = {"意大利", "巴西", "法国", "巴西"};write(str);read();}
}

18.(综合)

从命令行中读入一个文件名,判断该文件是否存在。如果该文件存在,则在原文件相同路径下创建一个文件名为“copy_原文件名”的新文件,该文件内容为原文件的拷贝。例如:读入 /home/java/photo.jpg
则创建一个文件 /home/java/copy_photo.jpg 新文件内容和原文件内容相同。
import java.io.*;import java.util.Scanner;public class TestFile {public static void main(String[] args) throws IOException {Scanner input = new Scanner(System.in);System.out.println("请输入一个路径:");String str = input.next();File file = new File(str);InputStream is = new FileInputStream(str);InputStreamReader isr = new InputStreamReader(is,"UTF-8");BufferedReader br = new BufferedReader(isr);OutputStream os = new FileOutputStream(file.getParent() + "//copy_" + file.getName());OutputStreamWriter osw = new OutputStreamWriter(os,"UTF-8");PrintWriter pw = new PrintWriter(osw);if(file.isFile()){File file2 = new File(file.getParent() + "//copy_" + file.getName());file2.createNewFile();while(true){String str3 = br.readLine();if(str3 == null)break;pw.println(str3);}pw.flush();pw.close();}     }
}

千峰JavaDay32课后作业相关推荐

  1. 千峰JavaDay31课后作业

    IO流 (流的分类) 对于 FileInputStream 来说,从方向上来分,它是_____流, 从数据单位上分,它是_____流,从功能上分,它是_____流. 输入 字节 处理 4.(字节流) ...

  2. 我在千峰培训的第十条和第十一天—面向对象

    我在千峰培训的第十条和第十一天-面向对象 今日总结 //今天没啥收获,就重新复习了下权限修饰符的作用范围 private : 当前类 defailt: 当前类,当前包 protected :当前类,当 ...

  3. 我在千峰培训的日子第六天

    我在千峰培训的日子第六天 今日总结 今天也没讲啥知识点,一天都在练习老师昨天讲的方法,然后他给讲了一下. 自我感悟 char 'b'; //会自动转变数据类型 c += 'b' - 'B'; //会报 ...

  4. matlab用lism求零输入响应,信号与系统matlab课后作业_北京交通大学讲解.docx

    信号与系统matlab课后作业_北京交通大学讲解.docx 信号与系统MATLAB平时作业 学院 电子信息工程学院 班级 姓名 学号 教师 钱满义 MATLAB习题 M3-1 一个连续时间LTI系统满 ...

  5. JAVA语法基础 动手动脑及课后作业

    动手动脑1: 仔细阅读示例: EnumTest.java,运行它,分析运行结果? public class EnumTest { public static void main(String[] ar ...

  6. 写在11期培训班第五次课后作业前面的话

       本文内容简单,但是感觉对一些博友还是有参考警醒价值,因此,分享给支持老男孩的所有博友们,希望你们喜欢! 写在11期培训班第五次课后作业前面的话: 作为运维过来人,老男孩总希望能多给大家讲一点成功 ...

  7. day 13 课后作业

    # -*- coding: utf-8 -*-# @Time : 2019/1/7 18:00# @Author : Endless-cloud# @Site : # @File : day 13 课 ...

  8. [课后作业] 第032讲:异常处理:你不可能总是对的

    [课后作业] 第032讲:异常处理:你不可能总是对的 参考文章: (1)[课后作业] 第032讲:异常处理:你不可能总是对的 (2) 课后测试题 备忘一下.

  9. 吴恩达机器学习课后作业——偏差和方差

    1.写在前面 吴恩达机器学习的课后作业及数据可以在coursera平台上进行下载,只要注册一下就可以添加课程了.所以这里就不写题目和数据了,有需要的小伙伴自行去下载就可以了. 作业及数据下载网址:吴恩 ...

最新文章

  1. 实现无线AP无缝漫游
  2. XP的DNS服务器(BIND)配置
  3. 日本Blogger专用电脑
  4. 使用python学线性代数_二项式过程| 使用Python的线性代数
  5. Linux学习笔记(一)——简介
  6. 关于RAM的空间使用超过限度的时候报错
  7. python编程入门教程第6讲_Python开发的入门教程(六)-函数
  8. socket编程:SO_REUSEADDR例解
  9. rs485与modbus协议
  10. ts250服务器开启虚拟,ts250服务器恢复系统
  11. java 进程通信代码
  12. 各种门锁的内部结构图_有没有这种执手门锁的内部结构图?
  13. PowerDesigne 建立概念数据模型
  14. [技巧]深入了解强大的 ES6 「 ... 」 运算符
  15. Open mv识别图形形状及颜色
  16. 序列号生成-模拟windows office序列号
  17. 4.1%的利率,100万贷款,30年还款,我们每月能少还多少房贷呢
  18. chr python用法_使用Python内建chr, ord实现的简单的加/解密
  19. Java 解析Tiff深入研究
  20. 计算机二级c语言题2016,2016年计算机二级《C语言》专项练习题及答案

热门文章

  1. 深部位移监测系统wk813应用边坡、大坝、堤防、铁路和建筑基坑开挖等深部位移测量
  2. Mendix平台(Mendix Platform)架构
  3. 实训十:三层交换机实现二层交换机VLAN间通信
  4. 没有鼠标无法对计算机进行操作,电脑有鼠标无键盘怎么办?如何解决不能打字问题?...
  5. 校招真题练习035 最少立方数之和(小米)
  6. 摩托车e-mark认证要准备哪些东西?
  7. 仿QQ异地登录强制下线功能的实现
  8. 腾讯大燕网“城市力量”年度盛典——致敬城市进取心
  9. ArchiCAD的模型进行抽壳处理的时候:glfwCreateWindow创建失败的原因分析
  10. 农历二月初一(搬家周)