随笔分类 -  Java IO

摘要:1、搭建框架 我们只是简单模拟,框架简单分三个模块 a,服务器端server包 b,servlet,根据不同的请求url,利用反射生产对应的servlet c,IO工具包,用来关闭IO流 d,编写web.xml e,写一个简单的html用于测试 f, IO工具包比比较简单,先写了: 2、编写xml文 阅读全文
posted @ 2020-04-18 23:52 行者老夫 阅读(600) 评论(0) 推荐(1)
摘要:ThreadLocal 运行: 运行: ExcutorService 线程池 线程池执行带返回值的callable时需要加入到集合中,避免get() 等待结果是阻塞 运行: Timer 运行: 阅读全文
posted @ 2020-04-16 07:16 行者老夫 阅读(282) 评论(0) 推荐(0)
摘要:我这边找了个小说网站: 基本套路: 第一步:获取小说每一章的url地址 第二步:获取章节url内容并使用正则表达式提取需要的内容 第三步:多线程封装,实现如下效果 最后测试。 代码: 内容获取封装: public class WebSpider { //<a href="/35/35971/1355 阅读全文
posted @ 2020-04-14 23:36 行者老夫 阅读(432) 评论(0) 推荐(0)
摘要:Java 四种解析 XML 的特点 1、DOM 解析: 形成了树结构,有助于更好的理解、掌握,且代码容易编写。 解析过程中,树结构保存在内存中,方便修改。 2、SAX 解析: 采用事件驱动模式,对内存耗费比较小。 适用于只处理 XML 文件中的数据时 3、JDOM 解析: 仅使用具体类,而不使用接口 阅读全文
posted @ 2020-04-10 03:50 行者老夫 阅读(317) 评论(0) 推荐(0)
摘要:分析: 聊天室需要多个客户端和一个服务端。 服务端负责转发消息。 客户端可以发送消息、接收消息。 消息分类: 群聊消息:发送除自己外所有人 私聊消息:只发送@的人 系统消息:根据情况分只发送个人和其他人 技术方面: 客户端和服务端收发消息,需要使用IO流,封装一个IOUtils工具类用来释放资源。 阅读全文
posted @ 2020-04-06 03:36 行者老夫 阅读(1605) 评论(2) 推荐(0)
摘要:Java TCP的基本操作参考前一篇:Java 网络编程 – 基于TCP实现文件上传 实现多用户操作之前先实现以下单用户操作,假设目前有一个用户: 账号:zs 密码:123 服务端: public class LoginServer { public static void main(String[ 阅读全文
posted @ 2020-04-05 18:16 行者老夫 阅读(1122) 评论(0) 推荐(0)
摘要:在java IO 流中我们经常看到这样的写法: ObjectOutputStream oos = new ObjectOutputStream( new BufferedOutputStream(new FileOutputStream("obj.ser"))); 这其实就是IO流使用装饰设计模式, 阅读全文
posted @ 2020-03-29 16:36 行者老夫 阅读(446) 评论(0) 推荐(0)
摘要:DataOutputStream 和 ObjectOutputStream的共同点是: 1、写出后读取 2、读取顺序和写出一致 数据流操作: // 写入 ByteArrayOutputStream baos = new ByteArrayOutputStream(); DataOutputStrea 阅读全文
posted @ 2020-03-29 16:13 行者老夫 阅读(508) 评论(0) 推荐(0)
摘要:java 中 转换流是以字符流的形式操作字节流,需要注意一下两点: 1、操作内容必须是纯文本 2、指定字符集避免乱码 操作控制台输入输出: try (BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); B 阅读全文
posted @ 2020-03-29 15:52 行者老夫 阅读(220) 评论(0) 推荐(0)
摘要:IO流的操作写多了,会发现都已一样的套路,为了使用方便我们可以模拟commosIo 封装一下自己的FileUtils 工具类: 1、封装文件拷贝: 文件拷贝需要输入输出流对接,通过输入流读取数据,然后通过输出流写出数据,封装代码如下: /** * 对接输入输出流 * * @param is * @p 阅读全文
posted @ 2020-03-27 03:27 行者老夫 阅读(814) 评论(0) 推荐(0)
摘要:字节数组流输于缓冲流,放在jvm内存中,java可以直接操作。我们使用时可以不用关闭,交给GC垃圾回收机制处理、 当然我们为了保持良好习惯和代码一致性也可以加上关闭语句。 当其实我么打开ByteArrayInputStream 和 ByteArrayOutputStream 源码可以发现字节数组里的 阅读全文
posted @ 2020-03-27 02:29 行者老夫 阅读(291) 评论(0) 推荐(0)
摘要:IO流操作套路: 1、创建源; 2、选择流; 3、操作; 4、释放资源 上代码: package com.xzlf.io; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; im 阅读全文
posted @ 2020-03-27 02:15 行者老夫 阅读(232) 评论(0) 推荐(0)
摘要:File中经常会使用递归方法打印属性结构、统计文件夹下文件个数、子文件夹个数以及文件大小,可以作为递归的应用练习。 递归的写法,百度一搜一大堆,这里我使用对javabean方式封装了一下: package com.xzlf.io; import java.io.File; public class 阅读全文
posted @ 2020-03-26 03:41 行者老夫 阅读(207) 评论(0) 推荐(0)