- 博客(66)
- 收藏
- 关注
原创 练习-Java输入输出之对象IO流之序列化数组
任务描述本关任务:序列化给定 Student 数组到给定文件中,再通过反序列化把其转化为 Student 数组。编程要求仔细阅读右侧编辑区内给出的代码框架及注释,在 Begin-End 间编写程序代码,序列化 Student 数组到给定文件中,再通过反序列化把其转化为 Student 数组,具体要求如下:Student 类代码如下:
2022-12-03 19:47:42 1854 1
原创 学习-Java输入输出之对象IO流之序列化一个对象
任务描述本关任务:序列化给定 Student 对象到给定文件中,再通过反序列化把其转化为一个对象。相关知识之前我们学习了 InputStream(字节输入流)和 OutputStream (字节输出流),下面我们来了解一下它们的子类---ObjectInputStream (对象输入流)和 ObjectOutputStream(对象输出流)。为什么要有对象流有的时候,我们可能需要将内存中的对象持久化到硬盘上(序列化),或者将硬盘中的对象信息读到内存中(反序列化),这个时候我们需要使用对象流。序列化和反序列化
2022-12-03 19:46:43 2102
原创 练习-Java输入输出之数据IO流之把文件中内容转为大写后写入另一个文件
任务描述本关任务:把给定文件中的前三行内容转为大写后写入给定的另一个文件。编程要求仔细阅读右侧编辑区内给出的代码框架及注释,在 Begin-End 间编写程序代码,把给定文件中的前三行内容转为大写后写入给定的另一个文件,具体要求如下:源文件内容示例:
2022-12-03 19:45:49 1551
原创 学习-Java输入输出之数据IO流之向文件中写入数字并读取
任务描述本关任务:使用数据 IO 流向给定文件中写入给定的 3 个 int 类型数字,并把这些数字分别读取出来。相关知识之前我们学习了 InputStream(字节输入流)和 OutputStream (字节输出流),下面我们来了解一下它们的间接子类---DataInputStream (数据输入流)和 DataOutputStream(数据输出流)。DataOutputStream(数据输出流)DataOutputStream 是 FilterOutputStream 的直接子类,而 FilterOutp
2022-12-03 19:45:14 3405
原创 练习-Java输入输出之数组IO流之将给定整数转换为字符写入到给定文件中
本关任务:将给定的整数转化为字符,并使用 ByteArrayOutputStream 将其写入到给定文件中(字符为 a 的除外)。
2022-12-01 12:56:59 1591
原创 学习-Java输入输出之数组IO流之将给定整数转换为字符串
ByteArrayInputStream 是 InputStream 的子类,该流可以把一个字节数组在内存中变成一个输入流,也就是说,它把一个字节数组 byte[] 包装了一下,使其具有流的属性,可顺序读下去。字节数组流是和内存中的数组相关的一个流,它可以将字节数组写到输出流中,也可以将字节数组从输入流中读出来,所有过程不涉及磁盘读写。从以上代码中可以看到,ByteArrayInputStream 是从字节数组中读取数据,这是它的主要特征。字节数组输入流常用方法。字节数组输出流常用方法。
2022-12-01 12:55:47 2187
原创 练习-Java输入输出之随机IO流之向文件中指定位置添加内容
思路点拨:我们可以把插入点之后的内容先读取到临时文件,再把给定内容和临时文件中的内容依次追加到插入点之后。本关任务:向给定文件中的指定位置添加给定内容。
2022-12-01 12:54:39 898
原创 学习-Java输入输出之随机IO流之向文件中追加内容
以上程序有两处关键代码,一处是创建了 RandomAccessFile 对象,该对象以只读模式打开了 d.txt 文件,这意味着 RandomAccessFile 文件只能读取文件内容,不能执行写入。首先把随机访问的文件对象看作存储在文件系统中的一个大型 byte 数组,然后通过指向该 byte 数组的光标或索引(即:文件指针 FilePointer)在该数组任意位置读取或写入任意数据。之前我们学习的文件字符流和文件字节流都是按照文件内容的顺序来读取和写入的。RandomAccessFile 构造方法。
2022-12-01 12:53:43 2513
原创 练习-Java输入输出之字符缓冲IO流之移除文件中的注释
仔细阅读右侧编辑区内给出的代码框架及注释,在 Begin-End 间编写程序代码,移除给定文件中的注释行(仅限使用。本关任务:移除给定文件中的注释行(仅限使用。注意:给定字符串中的逗号为中文逗号。
2022-12-01 12:52:57 1826
原创 学习-Java输入输出之字符缓冲IO流之往文件中插入分隔符
当 BufferedReader 在读取文本文件时,会先尽量从文件中读入字符数据并放满缓冲区,之后在使用 read() 方法时,会先从缓冲区中进行读取,如果缓冲区数据不足,才会从文件中读取。之前我们学习了 Reader(字符输入流)和 Writer (字符输出流),下面我们来了解一下它们的子类---BufferedReader (字符缓冲输入流)和 BufferedWriter(字符缓冲输出流)。本关任务:往给定文件的每行内容之间插入给定分隔符,并把添加分隔符的内容复制到给定的另一文件中。
2022-12-01 12:51:36 1496
原创 练习-Java输入输出之字节缓冲IO流之字节缓冲流的高性能
本关任务:分别使用字节缓冲输入流(BufferedInputStream)和文件字节输入流(FileInputStream)读取给定的文件,并输出它们各自的读取时间。
2022-12-01 12:50:29 720
原创 学习-Java输入输出之字节缓冲IO流之复制文件
因为它每次调用 read 方法的时候,会首先尝试从缓冲区里读取数据,若读取失败(缓冲区无可读数据),则选择从物理数据源(譬如文件)读取新数据(这里会尝试尽可能读取多的字节)放入到缓冲区中,最后再将缓冲区中的内容返回给用户。之前我们学习了 InputStream(字节输入流)和 OutputStream (字节输出流),下面我们来了解一下它们的间接子类,BufferedInputStream (字节缓冲输入流)和 BufferedOutputStream(字节缓冲输出流)。
2022-12-01 12:49:35 3623
原创 练习-Java输入输出之文件字符IO流之文件解密
本关任务:对给定文件的内容解密,并将解密后的内容输出到另一个文件。注意:给定字符串中的逗号分隔符为中文逗号。
2022-12-01 12:47:54 1309
原创 Java输入输出之文件字符IO流之文件加密
之前我们学习了 Reader(字符输入流)和 Writer (字符输出流),下面我们来了解一下它们的常用子类,FileReader (文件字符输入流)和 FileWriter(文件字符输出流)。FileReader 是 Reader 的子类,用于从文件中获取字符流。FileWriter 是 Writer 的子类,用于将字符流写入到文件中。本关任务:对给定文件的内容加密,并将加密后的内容输出到另一个文件。执行结果:文件中写入了 gh,并且原字符串被覆盖了。FileWriter (文件字符输出流)
2022-12-01 12:47:46 1801
原创 练习-Java输入输出之文件字节IO流之合并文件
仔细阅读右侧编辑区内给出的代码框架及注释,在 Begin-End 间编写程序代码,把给定的多个文件合并成一个文件。注意:请按照子文件后缀数字按照从小到大依次合并到目标文件。本关任务:把给定的多个文件合并成一个文件。
2022-11-28 09:55:24 1608
原创 学习-Java输入输出之文件字节IO流之拆分文件
之前我们学习了 InputStream(字节输入流)和 OutputStream (字节输出流),下面我们来了解一下它们的常用子类,FileInputStream (文件字节输入流)和 FileOutputStream(文件字节输出流)。FileInputStream 是 InputStream 的子类,用于从文件中获取字节流。FileOutputStream 是 OutputStream 的子类,用于将字节流写入到文件中。本关任务:把给定的大文件拆分成多个小文件。执行结果: 文件中写入了 bc。
2022-11-28 09:54:16 1593
原创 练习-Java输入输出之File类之获取文件信息(2)
任务描述本关任务:输出给定目录下的最大文件和最小文件名以及它们的文件大小。编程要求仔细阅读右侧编辑区内给出的代码框架及注释,在 Begin-End 间编写程序代码,输出给定目录下的最大文件和最小文件名,具体要求如下:
2022-11-28 09:52:42 1134
原创 学习-Java输入输出之File类之获取文件信息(1)
File 对象既可以表示文件,又可以表示目录,下面我们来了解一下更多关于 File 对象的操作。#####获取文件信息常用方法 已知在。本关任务:判断给定的字符串是目录、文件路径还是其它。
2022-11-28 09:51:45 2172
原创 学习-Java输入输出之File类之文件创建删除
任务描述本关任务:使用 File 类创建目录、生成文件和删除文件。相关知识我们知道在 Java 中万物皆对象,所以用来操作文件的也应该是一个对象,它就是 File 类。如何创建 File 对象(文件对象)File 对象表示一个文件或者路径,我们可以根据以下方式创建 File 对象:Java 中路径的两种写法:创建文件对象示例:执行结果:创建文件创建文件对象之后,还需使用 createNewFile() 方法才可创建一个文件。执行结果:删除文件文件对象使用 delete() 方法即可删除文件。执行结果:创建文
2022-11-28 09:50:21 1597
原创 学习-Java输入输出之Writer类之字符数据输出
我们知道 Reader 是带编码转换器的 InputStream,它把 byte 转换为 char,那么 Writer 就是带编码转换器的 OutputStream,它把 char 转换为 byte 并输出。本关任务:使用字符输出流把给定字符串写入到给定文件中。执行以上代码,即可把字符串以字符的形式写入文件中。Writer 类的常用方法。Writer 类的常用子类。什么是 Writer 类。
2022-11-28 09:48:55 2305
原创 学习-Java输入输出之Reader类之字符数据输入
我们知道,计算机是只识别二进制的,但是我们日常操作电脑,需要输入文字,字母,数字这些,我们不可能先去记住一串二进制数字,比如说 A 这个字母的二进制是什么,因为这样太麻烦,也记不住,所以。当我们对字节进行编码的时候使用的是一种编码表,而解码的时候使用的是另一种编码表的时候,就会出现乱码的问题了,是因为每一个编码表,它的字符对应二进制的字节是不一致的。显然不能,一般来说,我们是比较难以理解一串二进制码代表的含义的,而且一串二进制码是代表什么含义也无法很直观的表示出来。文件中的内容为一个 hello 字符串。
2022-11-28 09:47:50 1146
原创 学习-Java输入输出之OutputStream类之字节数据输出
写入过程也会经常发生 IO 错误,例如,磁盘已满,无权限写入等等。由于 OutputStream 类是抽象类,我们以它的子类 FileOutputStream 类为例,演示如何将数据写入到文件中。每次写入一个字节非常麻烦,更常见的方法是一次性写入若干字节。OutputStream 类是 Java 标准库提供的最基本的字节输出流。OutputStream 类也是抽象类,它是所有输出流的超类。本关任务:使用字节输出流将给定的字符串写入到给定的文件中。OutputStream 类的常用方法。
2022-11-28 09:41:59 3016
原创 学习-Java输入输出之InputStream类之字节数据输入处理
由于 InputStream 类是一个抽象类,我们不能直接创建其对象,但它的子类会重写它其中的方法,它的常见子类有: | 子类名 | 子类说明 | | ------------ | ------------ | | FileInputStream 类 | 从文件流中读取数据 | | ByteArrayInputStream 类 | 在内存中模拟一个字节流输入 |字节(byte,简称 B)是计算机中存储数据的单元,它是一个 8 位的二进制数,是一个很具体的存储空间,一般而言,一个标准英文字母占一个字节位置。
2022-11-28 09:37:18 3298
原创 练习-Java异常处理之RuntimeException之避免异常抛出(14)
任务描述本关任务:在指定区域内修改给定的代码,避免抛出空指针异常。public class ExcTest { int a=1; public static void main(String[] args) { ExcTest t1 = new ExcTest(); ExcTest t2 = null; // 请在Begin-End间编写代码 /********** Begin **********/
2022-02-18 18:13:39 886 1
原创 学习-Java异常处理之RuntimeException之避免异常抛出(13)
任务描述本关任务:接收给定的两个整数(第一个为被除数,第二个为除数),求这两个数的商,当除数为 0 时,不捕获但要避免抛出运行时异常 ArithmeticException。相关知识常见运行时异常在之前的学习中,我们了解到异常可分为运行时异常(RuntimeException)和非运行时异常,常见运行时异常有:ArithmeticException(算术运算异常):当除数为 0 时就会抛出该异常; IndexOutOfBoundsException(数组越界异常):当数组只有三个元素,
2022-02-18 18:12:48 3854
原创 练习-Java异常处理之throw之学生总成绩
任务描述本关任务:接收给定的一行字符串(某学生各科成绩),当某科成绩大于 100 或者小于 0 时,抛出一个异常(Exception),提示“成绩录入异常”。最后统计该学生各科平均成绩。// 请在Begin-End间编写代码/********** Begin **********/import java.util.Scanner;// 第一步:创建ExcTest类public class ExcTest { public static void main(String[] args
2022-02-18 18:11:53 5824 1
原创 学习-Java异常处理之throw之酒店入住
任务描述本关任务:接收给定的一个整数(年龄),当年龄小于 18 岁或者大于 90 岁时,抛出一个异常(Exception),提示“18岁以下,90岁以上的住客必须由亲友陪同”;当年龄处于 18 到 90 岁之间时,输出“欢迎入住本店”。相关知识之前我们学习了 throws 关键字,接下来我们了解一下跟它相似的 throw 关键字。throw 关键字throw 关键字的作用是:主动抛出异常。首先我们来看以下代码:public static void main(String[
2022-02-18 18:11:00 5307
原创 练习-Java异常处理之throws之抛出并捕获异常(10)
任务描述本关任务:在主方法之外创建任意方法,通过英文逗号切割给定的一行字符串,得到一个字符串数组,输出数组中第五个元素,当切割后的数组长度小于 5 时,会产生数组越界异常,请将此异常抛出,在主方法中调用该方法,捕获异常,并输出“数组长度小于5”。import java.util.Scanner;// 请在Begin-End间编写代码/********** Begin **********/// 第一步:创建ExcTest类public class ExcTest { //
2022-02-18 17:36:44 2845
原创 学习-Java异常处理之throws之抛出并捕获异常(9)
任务描述本关任务:在 main 方法之外创建任意一个方法接收给定的两个字符串,把第二个字符串的长度减 1 生成一个整数值,输出第一个字符串长度是生成整数值的多少倍,如果有异常的话,抛出异常。相关知识throws 关键字在之前的实训中,我们学习了如何处理捕获异常,但是有时候我们想偷个懒,不自己处理这些异常,可不可以呢?答案是可以的!我们可以将自己不想处理的异常交给别人来处理,那么怎么实现呢?很简单,我们只需要用 throws 关键字抛出该异常即可。例如:编写以上代码我们
2022-02-18 17:35:30 4941
原创 练习-Java异常处理之自定义异常之质数
任务描述本关任务:接收给定的一个大于 1 的整数,判断该整数是否是质数,如果是的话请输出该数,如果不是的话,自定义一个异常,抛出该异常,并提示“非质数异常”。// 请在Begin-End间编写代码/********** Begin **********/import java.util.Scanner;// 第一步:自定义异常,异常名为MyExceptionclass MyException extends Exception{ public MyException(){
2022-02-18 17:34:32 1645
原创 学习-Java异常处理之自定义异常之判断用户名
任务描述本关任务:接收给定的一行字符串(用户名),自定义一个异常,判断用户名是否小于三位,如果用户名小于三位,就抛出自定义的异常。相关知识为了完成本关任务,你需要掌握:1.为什么要自定义异常;2.怎么使用自定义异常。自定义异常前面谈到的都是系统自带的异常,但是如果我们是在开发一个复杂项目,就经常会遇到系统自带的异常不能满足我们需求的情况,所以这个时候就需要我们自己来定义异常了。使用自定义异常我们一般使用继承Exception类的方式来自定义异常,那具体怎么进行呢?很简
2022-02-17 15:15:35 6130
原创 练习-Java异常处理之常见异常类之输入类型异常
任务描述本关任务:修改给定代码,使程序能正常运行,并得到预期输出的结果(原程序会产生输入类型异常)。import java.io.*;import java.util.Arrays;import java.util.Scanner;public class FileTest { public static void main(String[] args) throws IOException { // 请在Begin-End间修改代码 /*****
2022-02-17 15:13:31 2837
原创 学习-Java异常处理之常见异常类之数据格式转换异常
任务描述本关任务:切割给定字符串,得到一个数组,将数组中每个元素转化为 double 类型,并输出所有 double 类型数据的和,并捕获数据类型转换异常。相关知识常见异常类在之前的学习中,我们在 catch 语句中使用 Exception 捕获所有的异常,Exception 类是所有异常类的父类,在实际开发中,我们应该使用它的具体子类来捕获异常。 常见异常类有:异常类型 说明 Exception 异常层次结构的根类 RuntimeException 运行时异常
2022-02-17 15:12:01 10185 3
原创 练习-Java异常处理之finally语句之输出所有元素
任务描述本关任务:切割给定的一行字符串,得到一个字符串数组,将数组中每个元素转化为int类型,使用 finally 输出所有元素,并捕获数据类型转换异常。/*任务:接收给定的一行字符串,实现以下需求:1.通过-切割字符串,得到一个字符串数组;2.将数组中每个元素转化为int类型,使用finally输出所有元素;3.捕获数据类型转换异常,当捕获到异常时,输出“元素x不能转换为整数”。字符串样式:98-32-java-hao-tian。切割后的字符串数组中的元素有些不由数字组成,当我们把这
2022-02-17 15:11:06 3293
原创 学习-Java异常处理之finally语句之求两个数的和
任务描述本关任务:接收两个整数(第一个为被除数,第二个为除数),实现以下需求: 1.求这两个数的商,并捕获除数为 0 的异常,捕获到该异常后输出提示语句:“除数不能为 0”; 2.不管是否捕获到异常,都输出给定两个数的和。相关知识finally语句finally 语句必须与 try-catch 语句或者 try 语句一起使用,它的作用就是不管异常是否发生,只要对应的 try 执行了,则它一定也执行。因此 finally 语句通常用来做资源释放操作:关闭文件,关闭数据库连接等等。语句格式:
2022-02-17 15:07:24 3104
原创 练习-Java异常处理之try-catch之异常捕获(2)
任务描述本关任务:根据逗号(英文逗号)切割给定的一行字符串,得到一个字符串数组,输出数组中第五个元素,并捕获数组越界异常。/*任务:接收给定的一行字符串,实现以下需求:1.通过逗号(英文逗号)切割字符串,得到一个字符串数组;2.输出数组中第五个元素;3.捕获数组越界异常,输出“数组长度小于5”。字符串样式:hello,32,java,hao,tian切割后的字符串数组长度不一定大于等于5,当我们输出数组中第五个元素时,会生成一个叫做数组越界的异常。*/// 请在Begin-End间
2022-02-17 14:47:00 4100
原创 学习-Java异常处理之try-catch之异常捕获(1)
任务描述本关任务:求给定两个数的商,并捕获除数为 0 的异常。相关知识为了完成本关任务,你需要掌握: 1.什么是异常; 2.如何捕获异常; 3.异常的使用原则。什么是异常异常:程序在运行过程中产生的不正常情况。程序在运行的时候,发生了一些预期之外的事件,从而没有按照我们编写的代码执行,这就是异常。异常是 Java 中的错误,但是并不是所有的错误都是异常,比如说,你在定义变量名的时候没有依照 Java 的规则,在语句的结尾少了一个分号,那么运行出来结果是错误: java.lang.
2022-02-17 14:46:06 4643
原创 练习-Java常用类之Pattern和Matcher类(8)
任务描述本关任务:校验用户输入的用户名和密码是否规范。/** * 校验用户输入的用户名和密码是否规范 */import java.util.Scanner;import java.util.regex.Matcher;import java.util.regex.Pattern;public class Test { // 请在下面的Begin-End之间按照注释中给出的提示编写正确的代码 /********** Begin **********/ /**
2022-02-16 18:25:07 1651
原创 练习-Java常用类之日期类格式化模式
任务描述本关任务:编写一个程序,计算小明的生日还有多少天。/** * 编写一个程序,计算小明的生日还有多少天 */import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;import java.util.Scanner;public class Test { public static void ma
2022-02-16 18:23:24 1716
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人