javaio
临窗,听雨声
Java是世界上最好的语言,不是js,不是php,不是python,谢谢!
展开
-
以BIO的思维模拟NIO
以BIO的思维模拟NIO此处使用NIO的ServerSocketChanle使用一个LIst来装所有的请求(clinet)所有的请求来了,先设置非阻塞,然后放入list中遍历list,拿出里面所有的 client,进行读取数据,如果没有读到就不做处理,如果报错了则证明client端已经关闭代码如下:这就是个非阻塞的IOpackage bio;import lombok.exte...原创 2020-03-24 14:57:40 · 320 阅读 · 1 评论 -
网络编程之 使用Socket创建聊天室增强版加入私聊系统消息
上一篇写了使用 socket 实现群聊的功能,但是有点缺陷比如说说话的时候没有显示是谁说的,没有私聊,之类的其实加个 客户端说话的时候是谁说的很简单,无非就是 获取当前客户端的用户名,私聊的话就是 发送给其他客户端的时候再进行限制一下,发给我指定的,比如说 @zzq:lcm 就是我对zzq说 lcm,约定 以 @ 开头,:结尾的中间的就是我们at的人。所以这里我们在new 客户端的时候就应...原创 2018-09-08 13:55:04 · 524 阅读 · 0 评论 -
网络编程之使用ServerSocket类和Socket类传输文件
ServerSocket 和 Socket 两个类是基于TCP协议的网络传输类其中服务端使用的是 ServerSocket客户端使用的是 Socket其特点是,面向连接,安全可靠,但是效率低,因为安全可靠,哈哈,类似与打电话,需要服务端和客户端建立连接后才能进行交互1,服务端代码: public static void main(String[] args) throw...原创 2018-09-05 23:19:59 · 2220 阅读 · 0 评论 -
网络编程之 DatagramSocket 类与 DatagramPacket 类(客户端收发消息)
DatagramSocket 和 DatagramPacket 两个类是 基于UDP 协议进行通信的包装类实现两个客户端通过 UDP协议通信,使用DatagramSocket 和 DatagramPacket类有如下几个步骤,分为客户端和服务端1,客户端:1),实例化DatagramSocket类(带上指定端口),创建客户端2),准备数据,数据是以字节数组发送的3),打包数...原创 2018-09-03 23:46:33 · 12545 阅读 · 1 评论 -
java 使用RandomAssessFile类多线程切片下载文件之服务端如何实现
上一篇我写了如何使用 java 结合网络连接+多线程+RandomAssessFile类实现多线程切片下载并显示网速https://blog.csdn.net/yali_aini/article/details/81942036因为之前写的都是客户端,不需要去管服务端,直接把文件放服务器里面,直接访问,服务器(tomcat之类得)就会自动帮我们切片,之类的。然后我自己想测试一些直接访问文件和使...原创 2018-09-16 12:32:40 · 993 阅读 · 0 评论 -
网络编程之 使用Socket创建聊天室
使用基于tcp协议的socket创建聊天室,昨天我写的博客已经介绍了怎么使用 ServerSocket 创建服务端,以及服务端怎么返回数据给客户端昨天写的博客有个缺陷,就是 客户端只能 先发送,后读取,对于正常情况来说应该是,客户端读取和发送是互相不相干涉的两个步骤,所以这里就得使用到多线程了,为 客户端发送数据,和接收数据各开辟一条道路。首先来看看客户端的发送消息:客户端发送消息...原创 2018-09-07 00:50:35 · 5460 阅读 · 1 评论 -
网络编程之手写极简版HTTP服务器
写http服务器就得知道http协议,这个协议是基于 tcp/ip的,所以我们可以用 ServerSocket 写服务端客户端就是浏览器,浏览器其实也是通过socket 连接客户端的,一般来说浏览器请求服务器资源的时候,都会带上 请求头信息就像这样:请求头里面包含了,请求地址,请求方法,客户端语言,浏览器信息,等等,服务端使用 socket.getInputStream 可以读取到...原创 2018-09-11 00:01:00 · 734 阅读 · 0 评论 -
java使用 网络连接+RandomAccessFile + io 多线程实现多线程下载文件并显示实时网速
下载文件的时候,一个大文件切成很多片,用多线程下载,速度会快很多阅读代码的时候注意查看代码里面的注释想用多线程下载文件,则,第一:得了解 RandomAccessFile 类,这是个随机访问文件类,里面可以设置 访问的 开始地址和结束地址,且该类可读可写。RandomAccessFile out = new RandomAccessFile(file, "rw"); 则表示,该...原创 2018-09-15 14:10:57 · 2079 阅读 · 3 评论 -
使用 AIO 进行网络编程=>模拟 Http服务器
此文章用于熟悉 AIO 的基本操作之前用 NIO 写过,地址:https://blog.csdn.net/yali_aini/article/details/91978722步骤:1.创建线程池 2.创建线程组 3.创建服务器通道 4.进行绑定 (服务器通道绑定 InetSocketAddress) 5.进行阻塞代码:import java.net.InetSocket...原创 2019-06-18 22:00:09 · 714 阅读 · 0 评论 -
IO流之打印流
查看源码可知,System.out 就是 PrintStram 类的实例 System.in 就是 InputStram类的实例1. System.out查看 System源码可知,System 是 java.lang 包下的一个类,out是其的静态成员,就是 OutputStream的实例所以像下图代码那样写是完全可以的pu...原创 2018-08-17 00:07:02 · 239 阅读 · 0 评论 -
IO流之切割合并文件(使用 RandomAccessFile类)
切割文件,思路就是 以每块多大的分量去切割成多少块,比方说 1024 的 文件以 500 切,就得切成 3块,那么就是 500,500 24 的三块也就是说最后一块可能装不满 500,那就得取实际数量了,也就是 24所以就可以把文件分成 3 份,各份得起始点就是 第一块:0,500 第二块:500,1000 ...原创 2018-08-22 12:54:32 · 1205 阅读 · 1 评论 -
IO类之遍历文件夹下的文件并记录层级
1.传入File对象,和计数器2.自定义递归方法3.如果传入的是文件夹则调用自身对文件夹再次进行遍历,计数器+14.当 传入的 file 不存在或者为null的时候,则证明遍历到最里面了一起看代码吧!public static void printFile(File file, int line) { // 第一步判断传递进来的file是否存在,不存在则return,递归...原创 2018-08-10 23:06:59 · 392 阅读 · 0 评论 -
java IO流之流的概念
一,概念流:流动,流向,从一端到另一端,源头与目的地,程序与 文件|网络|数组|数据库.... 之间的联系,以程序为中心二,IO流分类 1,流向,输入流与输出流 2,数据:字节流:二进制,能读取一切文件 字符流:读取文本文件,只能处理纯文本三,字节流与字符流 1,字节流 ...原创 2018-08-11 21:14:18 · 1050 阅读 · 2 评论 -
IO之写出文件(输出流)
io输出流,四个步骤1,建立联系2,选择流3,操作4,释放资源一起来看看代码吧/** * 操作文件过程 * 1,建立联系 * 2,选择流 * 3,操作,读写 * 4,释放资源 * @author snow * */public class IODemo { public static void main(String[] args) { ...原创 2018-08-11 21:40:08 · 962 阅读 · 0 评论 -
IO流之读取文件(输入流)
写入文件过程1,建立联系2,选择流3,操作4,释放资源一起来看看代码吧!/** * 操作文件过程 * 1,建立联系 * 2,选择流 * 3,操作,读写 * 4,释放资源 * @author snow * */public class IODemo { public static void main(String[] args) { // 1,建...原创 2018-08-11 21:52:33 · 5979 阅读 · 2 评论 -
IO流之拷贝文件
实现一个将一个大文件一边读一边写,到磁盘的另一个地方,实现文件的拷贝功能!代码如下/** * 操作文件过程 * 1,建立联系 * 2,选择流 * 3,操作,读写 * 4,释放资源 * @author snow * */public class IODemo { // 为了代码一目了然,这里使用抛出异常,统一处理 public static void main(S...原创 2018-08-11 22:03:45 · 137 阅读 · 0 评论 -
IO之拷贝文件+文件夹(升级版)
文件操作还是那么四个步骤,1,建立俩联系2,选择流3,操作4,释放资源拷贝文件夹的时候,得考虑如果是 递归把文件夹下的所有文件都给拷贝到目标目录下,是文件则直接拷贝,是目录则创建,很显然得用到递归,代码如下:/** * 操作文件过程 1,建立联系 2,选择流 3,操作,读写 4,释放资源 * * @author snow * */public class I...原创 2018-08-12 01:06:54 · 357 阅读 · 0 评论 -
IO流之字节字符缓冲流
IO里面的缓冲流分,字节缓冲流和字符缓冲流。字节缓冲流:new BufferedInputStream( new FileInputStream(srcFile) ) new BufferedOutputStream( new FileOutputStream(destFile) ); 字节缓冲流没有别的新加的方法,用的时候最好加上...原创 2018-08-13 22:56:13 · 240 阅读 · 0 评论 -
IO流之字节流转字符流
java中提供了将字节流转为字符流的操作类,有时候可以解决乱码问题看代码:public static void main(String[] args) throws Exception { File file = new File("D:\\\\lcm\\\\zzq.txt"); // 实例化字节输入流 InputStream is = new FileInput...原创 2018-08-13 23:34:39 · 5120 阅读 · 0 评论 -
java web 基于IO流的文件下载示例
下载文件有时候直接就是一个a链接,链接文件地址,很ok,很简单,但是这样有些弊病,比如说,我要是想统计文件下载数量呢,再加上,文件并不是都放在服务器目录下,也有可能是别的目录,再或者,像 .txt 的直接a链接就打开了。所以使用程序来下载也是很有必要的。show code直接上代码吧@RequestMapping("/downloadFile") public void getFi...原创 2018-08-16 17:36:30 · 3359 阅读 · 0 评论 -
IO之File类
学习IO最基础的就是学FIle类,学file类以下几个操作一定得知道1.获取文件路径信息 /** * 获取文件路径信息 */ public static void getPath() { // 建立 file 类与系统的联系 // new File("D:/zzq/zzq.txt"); => 绝对路径 // new File("zzq/zzq.txt...原创 2018-08-10 22:42:08 · 116 阅读 · 0 评论