速学堂(java)第十章编程题答案(自写)

1. 实现字节数组和任何基本类型和引用类型执行的相互转换
提示:使用ByteArrayInutStream和ByteArrayOutputStream。

package com.sxt.io;import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;/*** 实现字节数组和任何基本类型和引用类型执行的相互转换* 提示:使用ByteArrayInutStream和ByteArrayOutputStream。* @author ASUS**/
public class lianxi01 {public static void main(String[] args) throws ClassNotFoundException, IOException {int num = 18;boolean flag = true;User user = new User("gq","sxt",18);test01(num,flag,user);}public static void test01(int num,boolean flag,User user) throws IOException, ClassNotFoundException{//基本类型,引用数据类型--->字节数组ByteArrayOutputStream bos = new ByteArrayOutputStream();ObjectOutputStream oos = new ObjectOutputStream(bos);oos.writeInt(num);oos.writeBoolean(flag);oos.writeObject(user);byte[]datas = bos.toByteArray();//先开后关oos.close();bos.close();//字节数组--->基本类型,引用数据类型ByteArrayInputStream bis = new ByteArrayInputStream(datas);ObjectInputStream ois  = new ObjectInputStream(bis);int num1 = ois.readInt();boolean flag1 = ois.readBoolean();User user1 = (User) ois.readObject();System.out.println(num1);System.out.println(flag1);System.out.println(user1);//先开后关ois.close();bis.close();}}//User类实现序列化接口
class User implements Serializable{private String name;//姓名private String username;//用户名private int age;//年龄public User() {}//构造器public User(String name, String username, int age) {super();this.name = name;this.username = username;this.age = age;}//Set,Get方法public String getName() {return name;}public void setName(String name) {this.name = name;}public String getPassword() {return username;}public void setPassword(String username) {this.username = username;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}//重写toString方法public String toString() {return "姓名:"+name+" 用户名:"+username+" 年龄:"+age;}}

运行结果截图:

2. 复制文件夹d:/sxtjava下面所有文件和子文件夹内容到d:/sxtjava2。
提示:涉及单个文件复制、目录的创建、递归的使用

package com.sxt.io;import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;/*** 复制文件夹d:/sxtjava下面所有文件和子文件夹内容到d:/sxtjava2。* 提示:涉及单个文件复制、目录的创建、递归的使用* @author ASUS**/
public class lianxi02 {public static void main(String[] args) throws IOException {copyDirectiory("D:/sxtjava","D:/sxtjava2");}//复制文件public static void copyFile(File sourceFile,File targetFile) throws IOException{InputStream is = new BufferedInputStream(new FileInputStream(sourceFile));OutputStream os = new BufferedOutputStream(new FileOutputStream(targetFile));byte[]flush = new byte[1024];int len = -1;//收获长度while((len = is.read(flush))!=-1){os.write(flush, 0, len);}os.flush();//先打开的后关闭os.close();is.close();}public static void copyDirectiory(String sourceFolder,String destFloder) throws IOException{File sf = new File(sourceFolder);File df = new File(destFloder);//判断源文件夹是否存在if((!sf.exists())||(sf == null)){System.out.println("源文件夹未找到");return;}//判断目标文件夹是否存在if(!df.exists()){boolean flag;//若不存在,则进行创建flag = df.mkdirs();if(flag == false){System.out.println("创建文件夹失败");return;}}//对源文件夹进行遍历File[]files = sf.listFiles();for(File s:files){//若s是文件则调用复制文件方法if(s.isFile()){copyFile(s, new File(df, s.getName()));}else if(s.isDirectory()){//若s是文件夹则调用复制文件夹方法String source = sourceFolder+"/"+s.getName();String dest = destFloder+"/"+s.getName();copyDirectiory(source, dest);}}}}

运行结果截图:

sxtjava中原有文件

复制后sxtjava2中文件

3. 使用IO包中的类读取D盘上exam.txt文本文件的内容,每次读取一行内容,将每行作为一个输入放入ArrayList的泛型集合中并将集合中的内容使用加强for进行输出显示。

package com.sxt.io;import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;/*** 使用IO包中的类读取D盘上exam.txt文本文件的内容,* 每次读取一行内容,将每行作为一个输入放入ArrayList* 的泛型集合中并将集合中的内容使用加强for进行输出显示。* @author ASUS**/
public class lianxi03 {public static void main(String[] args) throws IOException {List<String>list = new ArrayList<String>();//创建源File src =new File("D:/exam.txt");//2.选择流      BufferedReader fis = new BufferedReader(new FileReader(src));      String str = "";//readLine是BufferedReader中特有的方法while((str = fis.readLine())!=null){list.add(new String(str.getBytes(),"UTF-8"));}fis.close();for(String str1:list){System.out.println(str1);}}}

运行结果截图:

D盘下exam.txt原有内容

运行后,操作台显示

速学堂(java)第十章编程题答案(自写)相关推荐

  1. 速学堂(java)第八章编程题答案自写

    速学堂(java)第八章编程题答案自写 1. 验证键盘输入的用户名不能为空,长度大于6,不能有数字. 提示:使用字符串String类的相关方法完成可以使用Scanner的nextLine()方法,该方 ...

  2. 速学堂(java)第十一章编程题答案(自写)

    速学堂(java)第十一章编程题答案(自写) 1.设计一个多线程的程序如下:设计一个火车售票模拟程序.假如火车站要有100张火车票要卖出,现在有5个售票点同时售票,用5个线程模拟这5个售票点的售票情况 ...

  3. 速学堂java教程第八章作业答案

    本人初学Java,自己编写的答案,有不足之处请大家指正,一起学习,谢谢~ 编码题 验证键盘输入的用户名不能为空,长度大于6,不能有数字. 提示:使用字符串String类的相关方法完成,可以使用Scan ...

  4. 速学堂第七章作业编程题答案(自写)

    速学堂第七章作业编程题答案 1. 数组查找操作:定义一个长度为10 的一维字符串数组,在每一个元素存放一个单词;然后运行时从命令行输入一个单词,程序判断数组是否包含有这个单词,包含这个单词就打印出&q ...

  5. 面试题:460道Java后端面试高频题答案版「模块九:Spring」

    Spring 写在前面 相信对于 Spring 这个模块,只要是做过 Java 开发的同学都是不陌生的,或多或少都使用过 Spring 体系的框架.对于平时自己做点小项目会写配置文件可能就行了,但是对 ...

  6. 01-Java基础语法_编程题答案

    Java基础语法编程题 一.初识Java 无答案. 二.变量.数据类型和运算符 1.使用变量存储以下MP3信息,并打印输出 品牌(brand):爱国者F928 重量(weight):12.4 电池类型 ...

  7. 西安交通大学915计算机软件基础往年真题编程题答案

    06年真题编程题答案 1 编写函数,用冒泡排序法或选择排序法对输入的 100个整数按从小到大的顺序排列: #include <stdio.h> //冒泡排序算法 void bubbleso ...

  8. Python快速编程入门课后程序题答案(所有的章节的选择、填空、编程题答案)

    Python课后题答案 第1章Python概述 一.填空题 1.对象 2.可移植 3.字节码 4.UTF-8 二.判断题 1.对 2.对 3.对 4.对 5.错 6.错 7.对 8.错 9.对 10. ...

  9. 国二c语言改错题答案,c语言国二考试编程题答案

    <c语言国二考试编程题答案>由会员分享,可在线阅读,更多相关<c语言国二考试编程题答案(65页珍藏版)>请在人人文库网上搜索. 1.1m个人的成绩存放在score数组中,请编写 ...

最新文章

  1. wind mysql日志_Windows下的Mysql日志操作
  2. nginx域名配置虚拟主机
  3. 使用栈实现队列 Implement Queue using Stacks
  4. 《掌门1对1微服务体系 Solar | 阿里巴巴 Sentinel 落地实践》
  5. Django的MEDIA_ROOT和STATIC_ROOT
  6. 初学Kotlin——在自定义View里的应用
  7. Linux C/C++ —— intent 工具,time 命令
  8. 书籍-从Paxos到Zookeeper分布式一致性原理与实践
  9. 第2期--从零开始仿制新浪微博---android
  10. 苹果电脑如何快速用计算机,苹果电脑快捷键如何使用 Mac快捷键大全详细教程...
  11. [Linux]正则表达式和grep使用
  12. 恢复数据的原理和方法
  13. 【软件工程】瀑布模型的价值
  14. php文字超出省略号,文字超过规定行数时自动生成省略号
  15. 基于腾讯云函数SCFddddocr免费验证码识别API响应系统
  16. Linux蓝牙鼠标自己断开,thinkpad蓝牙鼠标经常断线怎么办 thinkpad蓝牙鼠标频繁断开连接处理方法...
  17. Java Stream map flatMap mapMulti的升维和降维
  18. android studio中注解处理器的调试配置
  19. 简单认识程序的编译过程
  20. k8s containerd集群配置安装完整踩坑教程

热门文章

  1. 通过类型转换来显示一些字符在Unicode表中的位置,以及Unicode表中某些位置上的字符
  2. 【Java Se】常用工具类之多线程
  3. 腾讯QQ Linux版正式回归 支持x64、ARM64
  4. 2020秋招金九银十程序员离职跳槽指南,作为过来人想对你们说这几点
  5. 显示屏flicker闪烁 测试 计算软件
  6. json数据的两种格式及两种json方法
  7. WordPress插件推荐,WordPress插件大全
  8. SQL底层执行原理详解
  9. SiT1533:2012小封装尺寸,低功耗32.768KHz有源晶振
  10. 百度文档破解下载方法