速学堂(java)第十章编程题答案(自写)
速学堂(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)第十章编程题答案(自写)相关推荐
- 速学堂(java)第八章编程题答案自写
速学堂(java)第八章编程题答案自写 1. 验证键盘输入的用户名不能为空,长度大于6,不能有数字. 提示:使用字符串String类的相关方法完成可以使用Scanner的nextLine()方法,该方 ...
- 速学堂(java)第十一章编程题答案(自写)
速学堂(java)第十一章编程题答案(自写) 1.设计一个多线程的程序如下:设计一个火车售票模拟程序.假如火车站要有100张火车票要卖出,现在有5个售票点同时售票,用5个线程模拟这5个售票点的售票情况 ...
- 速学堂java教程第八章作业答案
本人初学Java,自己编写的答案,有不足之处请大家指正,一起学习,谢谢~ 编码题 验证键盘输入的用户名不能为空,长度大于6,不能有数字. 提示:使用字符串String类的相关方法完成,可以使用Scan ...
- 速学堂第七章作业编程题答案(自写)
速学堂第七章作业编程题答案 1. 数组查找操作:定义一个长度为10 的一维字符串数组,在每一个元素存放一个单词;然后运行时从命令行输入一个单词,程序判断数组是否包含有这个单词,包含这个单词就打印出&q ...
- 面试题:460道Java后端面试高频题答案版「模块九:Spring」
Spring 写在前面 相信对于 Spring 这个模块,只要是做过 Java 开发的同学都是不陌生的,或多或少都使用过 Spring 体系的框架.对于平时自己做点小项目会写配置文件可能就行了,但是对 ...
- 01-Java基础语法_编程题答案
Java基础语法编程题 一.初识Java 无答案. 二.变量.数据类型和运算符 1.使用变量存储以下MP3信息,并打印输出 品牌(brand):爱国者F928 重量(weight):12.4 电池类型 ...
- 西安交通大学915计算机软件基础往年真题编程题答案
06年真题编程题答案 1 编写函数,用冒泡排序法或选择排序法对输入的 100个整数按从小到大的顺序排列: #include <stdio.h> //冒泡排序算法 void bubbleso ...
- Python快速编程入门课后程序题答案(所有的章节的选择、填空、编程题答案)
Python课后题答案 第1章Python概述 一.填空题 1.对象 2.可移植 3.字节码 4.UTF-8 二.判断题 1.对 2.对 3.对 4.对 5.错 6.错 7.对 8.错 9.对 10. ...
- 国二c语言改错题答案,c语言国二考试编程题答案
<c语言国二考试编程题答案>由会员分享,可在线阅读,更多相关<c语言国二考试编程题答案(65页珍藏版)>请在人人文库网上搜索. 1.1m个人的成绩存放在score数组中,请编写 ...
最新文章
- wind mysql日志_Windows下的Mysql日志操作
- nginx域名配置虚拟主机
- 使用栈实现队列 Implement Queue using Stacks
- 《掌门1对1微服务体系 Solar | 阿里巴巴 Sentinel 落地实践》
- Django的MEDIA_ROOT和STATIC_ROOT
- 初学Kotlin——在自定义View里的应用
- Linux C/C++ —— intent 工具,time 命令
- 书籍-从Paxos到Zookeeper分布式一致性原理与实践
- 第2期--从零开始仿制新浪微博---android
- 苹果电脑如何快速用计算机,苹果电脑快捷键如何使用 Mac快捷键大全详细教程...
- [Linux]正则表达式和grep使用
- 恢复数据的原理和方法
- 【软件工程】瀑布模型的价值
- php文字超出省略号,文字超过规定行数时自动生成省略号
- 基于腾讯云函数SCFddddocr免费验证码识别API响应系统
- Linux蓝牙鼠标自己断开,thinkpad蓝牙鼠标经常断线怎么办 thinkpad蓝牙鼠标频繁断开连接处理方法...
- Java Stream map flatMap mapMulti的升维和降维
- android studio中注解处理器的调试配置
- 简单认识程序的编译过程
- k8s containerd集群配置安装完整踩坑教程