Java
文章平均质量分 88
Gaolw1102
这个作者很懒,什么都没留下…
展开
-
[SSM完整项目]仿豆瓣优秀电影评分系统
这是我写的第二个SSM完整的小项目,是一个优秀电影推荐推荐系统,分享出来供大家交流分享。项目地址:文章目录项目结构目录项目主要运行截图项目的主要配置文件(类似于上一个SSM项目)项目核心类演示结果项目结构目录项目主要运行截图项目的主页面信息展示页面(所有电影显示列表)增加优秀电影页面查看优秀电影页面修改优秀电影页面删除优秀电影项目的主要配置文件(类似于上一个SSM项目)spring-dao数据库持久层配置文件<?xml version="1.0" e.原创 2021-01-03 11:36:06 · 2740 阅读 · 6 评论 -
[SSM完整小项目]事件记录系统
[SSM小项目]大事件记录系统最近忙于考研复习规划,很久没有写过博客了,今天把期末做的两个SSM小项目(实现基本的增删改查和项目结构部署)的发布出去,供大家交流分享。项目地址: https://github.com/gaoliwei1102/Event-Notes文章目录[SSM小项目]大事件记录系统项目结构目录项目主要运行截图项目的主要配置文件项目核心类演示结果项目结构目录项目主要运行截图项目的主页面信息列表页面(事件列表)增加大事件页面修改大事件页面删除事件时直接原创 2021-01-03 11:12:51 · 417 阅读 · 1 评论 -
命令模式(Command)----设计模式
命令模式(Command)----设计模式命令模式,简单的讲,就是将**“命令动作的请求者"和"命令动作的执行者”**进行解耦,并要求请求可以撤销的。生活中也处处可见命令模式:老板发布一个命令,不是直接发布到了员工手中,而是发布给了秘书,具体怎么执行这个命令,交给秘书来完成;再或者一个多用遥控器,上面有很多的家用电器的开关按钮,此时你就可以通过这一个遥控器操控所有电器,而具体电器的开关不与你直接相关…文章目录命令模式(Command)----设计模式什么是命令模式?命令模式中的几个部分命令模式的原创 2020-09-07 22:26:16 · 300 阅读 · 0 评论 -
代理模式(Proxy)----设计模式
代理模式(Proxy)----Java设计模式代理模式,见文思义,即对一个类的对象进行代理,对其进行的行为进行检查扩充。文化起源于生活,代理就是受委托代表当事人进行当事人(这里指对象)应该做的一些活动。文章目录代理模式(Proxy)----Java设计模式What it is?常见的代理模式及结构静态代理实现源码动态代理实现源码总结What it is?什么是代理模式呢?通俗的讲,为使用此对象的对象提供一种代理以控制扩充对这个对象的使用访问。当一个对象不能直接交给或不适合直接被另一个对象调用原创 2020-08-23 17:50:37 · 262 阅读 · 0 评论 -
享元模式----设计模式
享元模式(FlyWeight)----设计模式享元模式,主要用于减少创建对象的数量,以减少内存占用和提高性能。这种类型的设计模式属于结构型模式,它提供了减少对象数量从而改善应用所需的对象结构的方式。文章目录享元模式(FlyWeight)----设计模式享元模式是什么?享元模式的结构案例演示代码演示总结享元模式是什么?享元模式,享即共享,元即对象,享元模式通俗的理解就是通过特定的手段实现对多次使用的对象进行共享,达到减少内存的占用和提高性能。嘿嘿,是不是听着有些像单例模式呢,其实不是的,单例模式原创 2020-08-22 17:06:51 · 239 阅读 · 0 评论 -
外观模式(Facade)----设计模式
外观模式(Facade)----设计模式文章目录外观模式(Facade)----设计模式什么是外观模式呢?外观模式的基本介绍制造一个影院管理?实现代码总结什么是外观模式呢?以我们中常见的案例说明,当我们需要安装win10电脑系统时,不需要了解安装系统的每一部分细节,交给固定程序进行安装即可;当我们去医院看病时,可能要去挂号、门诊、划价、取药,让患者或患者家属觉得很复杂,如果有提供接待人员,只让接待人员来处理,就很方便;等等…外观模式就是将事件内部具体的细节封装起来,使使用者能够更加方便地完成需原创 2020-07-27 16:18:10 · 281 阅读 · 0 评论 -
适配器模式(Adapter)----设计模式
适配器模式(Adapter)----设计模式文章目录适配器模式(Adapter)----设计模式What is it(它是什么)?适配器模式的工作原理适配器模式实现的三种方式适配器小案例以类适配器进行设计以对象适配器进行设计接口适配器、缺省适配器模式(自定义小案例)总结What is it(它是什么)?适配器模式(Adapter Pattern)是作为两个不兼容之间接口之间的桥梁。适配器模式来源于生活,例如,读卡器是作为内存卡和笔记本之间的适配器,电流转换插座是解决所需电压和实际电压不匹配的适原创 2020-07-23 16:05:44 · 142 阅读 · 0 评论 -
建造者模式(Builder)----设计模式
建造者模式(Builder)----设计模式文章目录建造者模式(Builder)----设计模式怎样得到每一辆车?开始结构化地制作每辆汽车高高工程师实施的流程总结(寻找灵魂的人)怎样得到每一辆车?自从上次高工程师,不对,高高工程师为汽车制造计划又提供了原型设计模式以后,就不但可以使用工厂模式使汽车工厂能够造出不同类型的汽车,而且还可以根据用户的需要生产出很多相同的汽车。汽车工厂得到了迅猛发展…但是在汽车生产的过程中,汽车老板并不想干预汽车生产的过程,他只想要车(Product)。于是他又叫来了原创 2020-07-20 21:05:21 · 194 阅读 · 0 评论 -
原型设计模式(prototype)----快速生产汽车
快速造汽车----原型模式文章目录快速造汽车----原型模式产汽车很累怎么办?高工程师来帮忙高工程师的法宝(实现原型模式)高工程师的最初具体实现(浅拷贝)劳斯莱斯的车型类劳斯莱斯车的生产信息类Information(表示第几辆车)生产操作测试类运行结果新的解决方案运行结果总结产汽车很累怎么办?上一次我们介绍了工厂模式(Factory),即用户可以通过提供具体的车型信息由工厂生产出来返回。后来竟然发现客户越来越少,工厂也入不敷出,甚至遭到了投诉,口碑极差,即将砸大门倒闭,这是为啥了呢?奥,原来是原创 2020-07-20 17:32:27 · 711 阅读 · 0 评论 -
Java对象的传递引用、浅拷贝、深拷贝的具体区别
Java中对象的传递引用、浅拷贝、深拷贝之间区别文章目录Java中对象的传递引用、浅拷贝、深拷贝之间区别What are they?具体案例演示对象的引用传递对象的浅拷贝对象的深拷贝(通过覆写clone()方法实现)总结What are they?传递引用: 即两个或多个对象名称指向同一段使用new关键字开辟的地址空间,它们都可以对此地址空间内的对象进行操作,即两个对象是相等的。如:Sheep sheep = new Sheep("tom",1,"white");Sheep sheep1 =原创 2020-07-20 15:40:38 · 495 阅读 · 0 评论 -
栈----Java类集
栈(Stack)----Java类集栈是很重要的一种的数据结构,在我们的日常生活中、电脑的操作系统中处处可以体现。如拿盘子放碟子、打开文件夹返回上一层、返回网页、穿衣服脱衣服等任何地方都有栈的影踪。栈的基本原理:栈(Stack)采用后进先出(Last Int First Out,FIFO)的形式进行数据的存储。在Java集合中也实现了栈(Stack)的数据结构,主要方法如下图:简单的小案例package chapter_thirteen;import com.sun.corba.se.原创 2020-07-17 20:30:13 · 178 阅读 · 0 评论 -
工厂设计(Factory)----设计模式
设计模式----工厂设计模式(Factory)文章目录设计模式----工厂设计模式(Factory)什么是工厂设计模式?实现功能详解具体代码实现汽车的接口和具体的汽车类汽车工厂汽车商店(测试类)运行结果总结什么是工厂设计模式?工厂设计模式是我们编程开发中最常用的一种设计模式,是属于创建型的设计模式。举个例子,假如现在我们要买一辆车,我们不必去管这辆轿车是怎么做出来的,以及这种轿车类型的具体实现,只需要通过我们的需求从一个轿车工厂中拿到该轿车即可。这就是工厂模式的具体作用。实现功能详解大家可以原创 2020-07-17 19:38:53 · 620 阅读 · 4 评论 -
披萨订购设计----简单工厂模式
披萨订购系统----简单工厂模式实现简单工厂模式的基本介绍:假如现在要设计一个披萨订购系统,要求具体的需求有:现在披萨的种类有很多,如GreekPizza、CheesePizza、Pepper等披萨类型,要求用户输入披萨名称,得到相应的披萨。每一个披萨都有具体的准备制作、进行烘烤、进行切割、进行打包等操作。完成披萨店的订购系统。根据设计模式的原则,我们可以设计出以下结构PizzaFactory 披萨的生产工厂,根据不同信息生产出不同的披萨。OrderPizza、PizzaSto原创 2020-07-16 16:06:25 · 1212 阅读 · 0 评论 -
Map接口的注意事项
Map接口的注意事项Map集合是用来存放键值对的集合,因此在进行集合的各项操作之中比较特殊,下面主要列举一下Map接口的使用事项。文章目录Map接口的注意事项1. 不能使用迭代输出Map中的全部内容1.1 输出方式一: Iterator方式输出Map1.2 使用foreach输出map集合中的所有内容2. 直接使用非系统类作为key2.1 输出String---->Person的映射2.2 输出Person---->String的映射1. 不能使用迭代输出Map中的全部内容1.1 输出原创 2020-07-14 20:31:45 · 167 阅读 · 0 评论 -
单例模式----另外三种较优模式
较优秀的三种单例设计模式前面我们介绍过饿汉式两种设计模式、懒汉式三种设计模式,都各有利弊,单例设计模式还有较为优秀的DoubleCheck(双重检查)、静态内部类、枚举方式实现的设计模式。以下是它们的实现代码和分析文章目录较优秀的三种单例设计模式DoubleCheck(双重检查)静态内部类枚举方式DoubleCheck(双重检查)package com.design_patterns.singleton;/** * DoubleCheck双重检查实现单例模式 * 线程安全,效率高效,推荐原创 2020-07-14 20:15:50 · 168 阅读 · 0 评论 -
单例模式----懒汉设计(不推荐使用)
单例模式----懒汉式的三种实现方式实现单例模式共有8中方法,其中不推荐使用,或者设计不合理的单例模式有以下三种线程不安全式懒汉式package com.design_patterns.singleton;/** * 懒汉式(线程安全,但效率低下哦) */class Person04{ private static Person04 person = null; private Person04(){} //对构造方法进行私有化原创 2020-07-14 16:21:43 · 198 阅读 · 0 评论 -
HashMap与HashTable类
Map集合----HashMap、HashTable类Map集合在Java中是一种特殊的集合,之前我们所讲解的集合Collection、List、Set集合每次只能操作一个对象,但Map接口与它们不同,每次操作的是一对对象,即二元偶对象,Map中的元素都使用"Key---->Value"的形式存储在集合中。文章目录Map集合----HashMap、HashTable类HashMap类的案例操作1. 为集合中增加和取出内容2. 判断指定的key或value是否存在3. 输出Map集合中全部的Key4原创 2020-07-13 21:35:16 · 269 阅读 · 0 评论 -
单例模式----饿汉式设计
单例设计模式----饿汉式设计今天学习了第一个23种设计模式的第1种设计模式,即单例设计模式。那么什么是单例设计模式呢? 所谓单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法。单例模式有以下八种方式:饿汉式(静态常量)饿汉式(静态代码块)懒汉式(线程不安全)懒汉式(线程安全,同步方法)懒汉式(线程安全,同步代码块)双重检查静态内部类枚举今天暂只学习了两种饿汉式(静态常量) 和 饿汉式(静态代码块) 两种单原创 2020-07-13 19:15:43 · 159 阅读 · 0 评论 -
类的六种关系----UML类图
类之间的关系----UML类图在UML类图中,类与类之间存在6种关系分别为依赖、泛化(继承)、实现、关联、聚合与组合。文章目录类之间的关系----UML类图依赖(Dependency)泛化(也叫继承)(Generalization)实现(Implementation)关联(Association)聚合(Aggregation)组合(Composition)依赖(Dependency)只要在类中用到了对方,那么它们之间就存在依赖关系。以下五种情况均可以构成依赖关系:类中用到了对方。如果是类的原创 2020-07-13 15:20:55 · 1289 阅读 · 0 评论 -
双向遍历集合----ListIterator接口
双向遍历集合----ListIterator接口若想实现可以从前到后遍历集合和从后向前遍历集合的操作,可以使用ListIterator接口。ListIterator接口中的主要方法案例演示进行双向迭代输出集合中的信息package chapter_thirteen;import java.util.ArrayList;import java.util.List;import java.util.ListIterator;public class ListIteratorDemo01原创 2020-07-12 12:13:55 · 829 阅读 · 0 评论 -
遍历集合----Iterator迭代器
遍历集合----Iterator迭代器的作用Iterator为遍历输出集合的接口,任何Collection接口的子类或子接口的集合都可以使用此Iterator接口遍历集合。Iterator接口的简介案例分析输出Collection集合中的全部内容package chapter_thirteen;import java.util.ArrayList;import java.util.Iterator;import java.util.List;public class Iterator原创 2020-07-12 11:43:23 · 169 阅读 · 0 评论 -
SortedSet排序操作的接口
SortedSet接口----用于排序的接口SortedSet的具体内容SortedSet的主要方法案例演示package chapter_thirteen;import java.util.SortedSet;import java.util.TreeSet;public class TreeSetDemo05 { public static void main(String[] args) { SortedSet<String> sortedSe原创 2020-07-12 10:11:59 · 221 阅读 · 0 评论 -
TreeSet类的排序问题
TreeSet类的排序问题使用TreeSet集合可以向集合中添加数据,形成有序的排列顺序。但是如果我们向集合TreeSet集合中添加自定义的类对象,它会出现什么情况呢?package chapter_thirteen;import java.util.Set;import java.util.TreeSet;class Person{ private String name; private String age; public Person(String name,原创 2020-07-12 09:51:51 · 320 阅读 · 0 评论 -
HashSet与TreeSet
Set接口子类----HashSet类和TreeSet类Set接口的简单图解说明HashSet类是Set接口的子类,里面不能存放重复的内容,而且采用散列的存储方式,无序存储。TreeSet类也是Set接口的子类,里面存放的数据为有序排列。案例说明HashSet类的存放操作package chapter_thirteen;import java.util.HashSet;import java.util.Set;public class HashSetDemo01 { publ原创 2020-07-12 09:18:43 · 173 阅读 · 0 评论 -
迪米特原则
迪米特原则迪米特法则的核心是为了降低类之间的耦合,即一个类对自己所依赖的类知道的越少越好(也称最少知道原则),要求被依赖的类尽量对外只提供public方法供依赖类来使用即可,不泄露任何的被依赖类的信息,从而实现高内聚,低耦合的效果。迪米特法则的基本介绍:下面直接给出未实现迪米特法则的案例和实现迪米特法则的案例。未实现迪米特法则的案例package com.gaoliwei.demeter;import java.util.ArrayList;import java.util.List;原创 2020-07-11 17:55:32 · 290 阅读 · 0 评论 -
开闭原则
开闭原则开闭原则,即如一个软件实体类,模块和函数应该对扩展开发(对提供方),对修改关闭(对使用方),用抽象构建框架,用实现扩展细节。当软件需要变化时,尽量通过扩展软件实体的行为来实现变化,而不是通过修改已有的代码来实现变化。下面直接给出未遵循开闭原则的实现代码和遵循开闭原则的实现代码。未遵循开闭原则的原则的代码package com.gaoliwei.ocp;public class Ocp { public static void main(String[] args) {原创 2020-07-11 15:38:49 · 183 阅读 · 0 评论 -
链表操作LinkedList
LinkedList子类链表与Queue队列接口LinkedList和Queue代表数据结构中的链表和队列数据结构,小伙伴们直接使用即可,无用重新开发。文章目录LinkedList子类链表与Queue队列接口图解LinkedList子类及Queuei接口Queue接口的主要方法LinkedList子类的主要方法LinkedList链表操作实例为链表增加数据找到链表头以FIFO(先进先出)的方式取出内容图解LinkedList子类及Queuei接口Queue接口的主要方法LinkedList子类原创 2020-07-11 13:39:45 · 155 阅读 · 0 评论 -
ArrayList与Vector类
ArrayList与Vector类java类集中,由于List(为Collection接口的子接口)为接口,无法直接进行实例化,因此java中提高了List接口的两个实现类ArrayList和Vector类来进行类集之间的相应操作。文章目录ArrayList与Vector类Collection接口的主要方法List接口的主要方法ArrayList类(实现List接口)的主要操作案例向集合中添加元素删除元素输出List中的内容将集合变为对象数组集合的其他相关操作Vector类的相关操作添加与输出集合内的信原创 2020-07-11 11:24:47 · 320 阅读 · 0 评论 -
认识类集
认识类集----类集概述所谓类集,就是动态的对象数组,不必受到对象数组长度的限制,可以使开发人员很好使用操作一组对象增删改查的一种框架。类集的主要特性:这种框架是高性能的,对基本类集(动态数组、链接表、树和散列表)的实现是高效率的。所以一般很少需要人工去对这些"数据引擎"编写代码。框架必须允许不同类型的类集以相同的方式和高度互操作的方式工作。类集必须是容易扩展和修改的。为了实现这一目标,类集框架被设计成包含一组标准接口。类集的主要接口序号接口描述1Collectio原创 2020-07-11 09:51:36 · 192 阅读 · 0 评论 -
依赖倒转----设计模式七大原则
依赖倒转----设计模式七大原则今天又学习了依赖倒转原则,做下笔记,供自己复习和小伙伴们分享~文章目录依赖倒转----设计模式七大原则基本介绍原来含缺陷的程序代码(注释讲解)改进后的程序源码(注释讲解)基本介绍**依赖倒转原则(Dependence Inversion Principle)**是指:高层模块不应该依赖底层模块,二者都应该依赖其抽象。抽象不应该依赖细节,细节应该依赖抽象依赖倒转(倒置)的中心思想是面向接口编程。依赖倒转原则是基于这样的设计理念;相对于细节的多变性,抽象的东西要原创 2020-07-10 18:48:02 · 164 阅读 · 0 评论 -
JavaIO的要点
JavaIO的重要知识点在Java中使用File类表示文件本身,可以直接使用此类完成文件的各种操作。RandomAccessFile类可以从指定的位置开始读取信息(随机读取),但是要求文件中各个数据的保存长度必须固定。输入/输出流主要分为字节流(OutputStream、InputStream)和字符流(Writer、Reader)两种,但是在传输中以字节流操作较多,字符流在操作时使用到缓冲区,而字节流没有使用带缓冲区。字节或字符流都是以抽象类的形式定义的,根据其使用子类的不同,输入或输出的位置也原创 2020-07-09 13:21:10 · 123 阅读 · 0 评论 -
序列化与反序列化对象
对象的序列化与反序列化文章目录对象的序列化与反序列化序列化?What it is?图解序列化案例演示(序列化和反序列化操作)小结序列化?What it is?对象序列化就是把一个对象变为二进制的数据流的一种方法,简单来说就是把一个对象变为二进制数据,从而支持对对象数据流进行操作的一种方法。序列化分为序列化操作和反序列化操作。序列化操作是将对象转化为二进制信息数据,反序列化操作是将二进制信息数据转换为对象的操作。需要进行序列化或反序列化的类需要实现Serializable接口,此接口为标识接口,无任原创 2020-07-09 10:19:40 · 167 阅读 · 0 评论 -
ZIP高速解压器----基于JavaIO实现
ZIP高速解压器----JavaIO支持昨天根据JavaIO写了一个高速文件压缩器,那个工具类为ZipUtil,后来想想光有压缩不能没有解压缩操作啊,哈哈哈,于是今天花了4个多小时(不断修改)又设计思考改进写了一个高速ZIP文件解压器,此工具类为UnZipUtil。下面直接上高速ZIP文件解压器的实现源码和运行结果~程序源代码package chapter_twelve;import java.io.*;import java.util.Scanner;import java.util.z原创 2020-07-08 11:05:46 · 397 阅读 · 0 评论 -
接口隔离原则----设计模式七大原则
接口隔离原则----设计模式七大原则今天又学习了设计模式的接口隔离原则,之前没怎么接触过,哈哈,只好照搬硬套来做个笔记。基本介绍:客户端不应该依赖它不需要的接口,即一个类对另一个类的依赖应该建立在最小的接口上。我自己的简单理解就是,一个类(子类)通过接口去使用(依赖)另一个类(父类),此父类需要实现接口,但是父类为子类提供的服务方法又不需要实现接口的所有方法,以免造成浪费,此时就需要对接口进行拆分,使其满足接口隔离的原则,有点类似与代理设计模式,但是对接口进行拆分。直接给代码演示,感兴趣的小伙伴还可原创 2020-07-07 21:21:18 · 177 阅读 · 0 评论 -
ZIP自制快速压缩器----基于JavaIO
自制高速ZIP压缩器----基于JavaIO实现文章目录自制高速ZIP压缩器----基于JavaIO实现程序思路程序最初实现源码和压缩效果程序改进最终源码和压缩效果今天又重新复习了一遍JavaIO的压缩流这一块,哈哈,原本大一下半学期做个一个类似的压缩程序,不过时间太长了我已经忘记了,今天又学习复习了JavaIO,研究了几个小时,终于完成了!程序思路主要使用ZipEntry、ZipOutputStream、File、IO其它操作类实现,通过用户输入原文件位置和压缩文件位置及名称,生成对应的压缩文件。原创 2020-07-07 14:02:29 · 438 阅读 · 0 评论 -
压缩流----JavaIO
压缩流----JavaIO我们在日常的生活中经常会使用到WinRar和WinZip等压缩文件,对体积比较大的文件进行压缩方便串数。在java中也提供了专门的压缩流,可以将文件压缩为ZIP,JAR,GZIP(UNIX系统文件)的格式。ZIP压缩输入/输出流简介Zip是一种常见的压缩格式,在java中要实现Zip方式的压缩需要导入java.util.zip包,可以使用此包中的ZipFile、ZipOutputStream、ZipInputStream、ZipEntry几个类完成。哈哈,今天由于只写了一原创 2020-07-07 09:57:13 · 162 阅读 · 0 评论 -
单一职责原则----程序设计模式
单一职责原则----设计模式的七大原则今天刚开始学习设计模式的七大原则,哈哈,由于下一学期要开这门课,暑假没事做从b站开始自学,进入正题~单一职责原则,见名思义,即单一的职责,要求一个类或者一个方法实现的功能或完成的操作单一纯粹,要做什么就光做什么,不能有其它方面的操作,以造成程序代码的冗余和可读性差,遵守单一职责,可以设计出高内聚、低耦合的软件程序。下面我们从一段程序开始看起(原谅我值会照搬,,,嘿嘿嘿,以后我尽量都会以先写原则再通过案例进行应用说明)题目:设计一个交通工具类,可以模拟交通工具的运原创 2020-07-06 16:38:34 · 300 阅读 · 0 评论 -
设计模式七大设计原则
设计模式的七大设计原则刚刚自学了设计模式,其中老师讲到了设计模式原则。设计模式原则,其实就是程序员在编程时应带遵守的规则(为了保持软件的代码重用性、可读性、可扩展性、可靠性、高内聚,低耦合),也是各种设计模式的基础。设计模式常用的七大原则有:单一职责原则接口隔离原则依赖倒转(倒置)原则里氏替换原则开闭原则迪米特法则合成复用原则由于刚刚开始学习,只好先记下这些设计原则,等到学习之后,我会一个个将这些设计原则总结分享出来,供自己做笔记,和小伙伴们分享~...原创 2020-07-06 16:03:44 · 108 阅读 · 0 评论 -
合并流操作
合并流的主要操作合并流的主要功能是将两个文件的内容合并成一个文件,要使用合并流必须使用SequenceInputStream这个类,它的常用方法如下:案例演示package chapter_twelve;import java.io.*;public class SequenceInputStreamDemo01 { public static void main(String[] args) throws Exception { InputStream inputS原创 2020-07-06 13:52:31 · 232 阅读 · 0 评论 -
数据操作流
数据操作流文章目录数据操作流数据输出流(DataOutputStream)的常用方法数据输入流(DataInputStream)的常用方法案例演示向文件中输出数据从文件中读取数据总结在Java中提供了两个与平台无关的数据操作流,分别为数据输出流(DataOutputStream)和数据输入流(DataInputStream)。就是类似于按照一定格式将数据读入文件,再按照一定格式将数据从文件读出,哈哈,小伙伴们请看下面的代码就懂了,实践大于一切!!!数据输出流(DataOutputStream)的常用原创 2020-07-06 11:55:00 · 709 阅读 · 0 评论