javaIO流传多个二进制文件(不大逛论坛,分就这么多了,拜托了!) 你的server socket和client socket 你可以自己制定一个协议 就比如 第一行 是文件名 文件后缀 文件字符编码等元数据信息(按照你制定的次序 和 分隔符来界定) 第二行开始 是文件内容然后两端传文件就按照你的协议来传递和接收 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这个我用字符流做了,传文本文件是成功了,但是传音乐,视频时就有问题了,每个文件都大了不少,打不开。主要是字符流传二进制文件就有问题。因此我还是想用字节流,但是吧,字节流,不好区分不同文件啊,怎么分割呢。后来我想用字符流来传分割用的字符吧,中间在夹着些字节流传内容,但是,我不知道该怎么判定我这个字节流是结束了:Client:OutputStream out = socket.getOutputSream():OutputStreamReader osw = new OutputSreamReader(out, "UTF-8");for(File f : files){ // 用字符流传文件名 osw.write(f.getName() + "\n"); //字节流传文件内容 InputStream in = new FileInputStream(f); byte[] buffer = new byte[1024]; int length; while(-1 != (length = in.read(buffer))){ out.write(buffer, 0, length); } in.close(); //服务器怎么区分这里读结束了?当一个流close了,也会把信息发给服务器吗 out.flush(); osw.write("endfile\n");} 用DataOutputStream InputStream包装下DataOutputStream.writeUTF("文件名")DataOutputStream .writeLong(file.length());写数据对面就是InputStream.readUTF();//得到文件名long fileLength = InputStream.readLong();//得到文件长度,即接下来需要读取多少字节long count = 0;while( count<fileLength ){ count+= in.read(xxx);//socket流是不会读到-1的,没有数据会阻塞,只到有数据。}我一般是 [文件名,文件长度,文件内容] jdbc驱动找不到 求 RSA 工具类。提供加密,解密,生成密钥对等方法,实现代码 Exception in thread "main" java.lang.NoClassDefFoundError:运行就报错 求解释 高手帮帮忙 swt designer安装以后怎么使用 jdsk有5个子目录分别是“bin、demo、include、jre、lib”各自作用? 如何在一个对象b1中调用生成这个对象的对象a1的一个方法。 请看看这段关于hashtable遍历的程序有什么错误? 面向对象编程之我见! 请教有关JAVA的一些问题 Java RSA map不能返回第一行的value
这个我用字符流做了,传文本文件是成功了,但是传音乐,视频时就有问题了,每个文件都大了不少,打不开。主要是字符流传二进制文件就有问题。因此我还是想用字节流,但是吧,字节流,不好区分不同文件啊,怎么分割呢。后来我想用字符流来传分割用的字符吧,中间在夹着些字节流传内容,但是,我不知道该怎么判定我这个字节流是结束了:Client:
OutputStream out = socket.getOutputSream():
OutputStreamReader osw = new OutputSreamReader(out, "UTF-8");
for(File f : files){
// 用字符流传文件名
osw.write(f.getName() + "\n");
//字节流传文件内容
InputStream in = new FileInputStream(f);
byte[] buffer = new byte[1024];
int length;
while(-1 != (length = in.read(buffer))){
out.write(buffer, 0, length);
}
in.close(); //服务器怎么区分这里读结束了?当一个流close了,也会把信息发给服务器吗
out.flush();
osw.write("endfile\n");
}
DataOutputStream .writeLong(file.length());
写数据
对面就是
InputStream.readUTF();//得到文件名
long fileLength = InputStream.readLong();//得到文件长度,即接下来需要读取多少字节
long count = 0;
while( count<fileLength ){
count+= in.read(xxx);//socket流是不会读到-1的,没有数据会阻塞,只到有数据。
}
我一般是 [文件名,文件长度,文件内容]