问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

JAVA怎么通过socket传输各种类型文件

发布网友 发布时间:2022-04-22 20:21

我来回答

3个回答

热心网友 时间:2023-09-16 18:40

IO
流的概念 什么叫流?
管道 -
流的分类
字节流 字符流
节点流 过滤流 (包装流 处理流 功能流)
输入流 输出流
InputStream抽象类 所有字节输入流统一的父类
OutputStream抽象类 所有字节输出流统一的父类
FileInputStream节点流 能够连接文件作为节点
int read() 无参read 一次读取一个字节 返回的就是字节数据
int read(byte[] data)*
int read(byte[] data,int off,int len)
FileOutputStream
构造方法:File Stringboolean append
*:输出流连接的文件会被自动创建出来 如果已存在那么替换
*:但是输出流连接的文件夹都不存在 直接Exception
write(int data)
write(byte[] data)
write(byte[] data,int off,int len)*
BufferedInputStream(节点输入流[,缓冲空间大小])
BufferedOutputStream(节点输出流[,缓冲空间大小])
*:它们是过滤流 包装流 处理流 它们只能连接节点流 不能直接连文件
使用它们俩是为了提供缓冲空间 从而大幅度的提高每次读写的
吞吐量 从而提高效率
*:Buffered 意味着有缓冲空间 一定要清空缓冲区
flush();
close();
*:一定注意 你可以使用的依然是read方法来实现读取 write 写出
read() read(byte[] data,int off,int len)
write(int data) write(byte data,int off,int len)
DataInputStream
DataOutputStream
*:它们是过滤刘 包装流 处理流 它们只能连接节点流 不能直接连文件
使用他们俩是为了提供读写基本数据类型内存原型的功能
readBoolean()readInt()readLong()
writeBoolean()writeInt()writeLong()
ObjectInputStream
ObjectOutputStream
*:它们是过滤刘 包装流 处理流 它们只能连接节点流 不能直接连文件
使用他们俩是为了能够提供对象持久化的功能
把Java当中不是基本数据类型的对象类型也能保存到文件中
implements Serializable
一个类型的对象如果想被持久化 那么这个类型必须序列化
而且当中所有的属性页必须实现序列化接口
如果是个集合概念 那么不但这个类型需要序列化
当中存放的任何一个元素都需要序列化
readObject()writeObject()
*:如果一个属性不需要参与持久化 那么可以直接把属性定义
为 transient 短暂的 转瞬即逝的
Reader抽象类 所有字符输入流统一的父类
Writer抽象类 所有字符输出流统一的父类
FileReader
int read() 无参read 一次读取一个字符 返回的就是字符数据
int read(char[] data)
int read(char[] data,int off,int len)
FileWriter
*:输出流连接的文件会被自动创建出来 如果已存在那么替换
*:但是输出流连接的文件夹都不存在 直接Exception
write(int data)
write(char[] data)
write(char[] data,int off,int len);
过滤流 包装流 处理流
BufferedReader
String readLine() 一次读取一行
字符串不能返回-1 返回null代表读取结束
BufferedWriter
write(String str) 写出字符串的方法
newLine() 写出一个换行标识
PrintStreamSystem.out
PrintWriter
太有魅力了 太强大了
1.可以连接字符流也可以连接字节流
2.可以当做节点流也可以当做过滤流
3.能够指定自动清空缓冲 (流,true) autoFlush
4.可以指定字符集 字符编码
5.一个println() = write()+newLine()
InputStreamReader
OutputStreamWriter
将原本的字节流包装转换成字符流
RandomAccessFilesetLength();
Socket
服务器 ServerSocket ss = new ServerSocket(7777);
while(true){
Socket s = ss.accept()
new XxxThread(s).start();
}
客户端 Socket socket = new Socket(ip,port);
getInputStream();
getOutputStream();

热心网友 时间:2023-09-16 18:40

一个字 流。
socket 连接上后 把要传的文件转成outputstream 然后客户端用inputstream接收后再再写入到硬盘。

热心网友 时间:2023-09-16 18:41

Socket socket = new Socket(ip,port);
getInputStream();
getOutputStream();
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
ipad输入键盘变小了 金黄色的鱼肉 这是鲶鱼吗?为啥有八根胡子。能吃不?味道咋样。。。 可塑橡皮有毒害吗可塑橡皮有没有毒害 小米手机应用锁密码忘了怎么解除还不想恢复出厂模式 欢乐斗地主得到的包箱里开的那个宝宝去那里领 混凝土外加剂的使用方法 混凝土外加剂使用注意事项 为什么观众喜欢在直播间买东西? 梦见别人开口向我借钱 更换发动机发动机号会变吗 网易云音乐,我喜欢的音乐列表 全部删除了,有没有办法恢复啊? 怎么用java的socket进行文件传输?谁能给个简单的例子,包括发送端和接收端。 关于用JAVA的SOCKET传输文件 怎么我的网易云音乐里的歌单突然就没了? 用java socket实现一个服务器对多个客户端的文件传输 为什么网易云很多歌手喜欢的歌都删了 在JAVA的socket中进行传输对象和文件 java中怎么用socket 一次传多个文件啊? java socket传送文件 驰球保险柜故障分析:保险柜怎么一直总是有“咚”的声音? 驰球和艾谱中怎么选择一款质量好的保险柜啊。 艾谱保险箱怎么样?比驰球好吗 保险箱质量哪种好?艾谱还是驰球? 艾斐堡与驰球比哪个保险箱好? 驰球保险柜使用超控钥匙怎么还是打不开 驰球保险柜 一直闪good,无法输密码,打不开柜门 十大保险箱品牌中的艾谱和驰球哪个好 保险箱品牌艾斐堡,驰球,质量上谁更好? 驰球保险柜黑鲨打不开 驰球牌保险箱怎么修改密码 为什么网易云音乐歌单里的有些歌曲会消失了? java 使用ServerSocket和Socket实现文件传输。 找回网易云音乐中我喜欢的歌曲? 请问各位,如何用JAVA的socket技术进行文件和图片的传输? 我和朋友一起用网易云音乐一起听歌,我不小心把他的歌单弄没了,还能找... JAVA socket传输二进制文件问题 java socket局域网传输文件丢包严重 毛呢子搭配裙子怎么搭配合理好看? 为什么对方网易云音乐听歌排行突然出现新歌,突然又消失 java使用socket文件上传 女生冬天该如何穿或搭配裙子? 网易云音乐登陆后,原来收藏那些歌全没了。只好又退出登陆!!难道不是应 ... java中,利用socket传送大文件,中途停止问题 女士藏青色的体恤搭配什么裙子好看图片 网易云莫名其妙偷偷自动取消喜欢有版权的歌,是什么原因,怎么解决? 办理中行国内商业票据贴现需要哪些材料? java socket传输对象流和文件流的问题 网易云卸载后在登陆喜欢的歌还有吗? java socket传送文件怎么设置传送速度,比如一个文件100M,每次传送1024BYTE? 小西装搭配裙子的图片?小西装搭配裙子好看吗?