关于网络传输文件的请教各位怎么做啊?

sheek 2005-11-22 05:03:01
关于网络传输文件的请教各位怎么做啊?
...全文
446 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
jordan1 2005-12-13
  • 打赏
  • 举报
回复
学习
sheek 2005-12-13
  • 打赏
  • 举报
回复
谢谢各位,呵呵!
sheek 2005-11-29
  • 打赏
  • 举报
回复
不知道这两个文件的路径是什么路径?
christina_sll 2005-11-29
  • 打赏
  • 举报
回复
我现在也碰到过这样的问题呀,是一对一的传,试了一下那上面的代码,运行好慢,而且运行出来的结果并不是按代码写的循序反应的,真是奇怪!大家帮忙看看了
sheek 2005-11-28
  • 打赏
  • 举报
回复
不好意思,刚出差回来,就是说把一个文件从一台机器上传输到另一台机器。我是想用socket,但是不知道怎么用
sheek 2005-11-28
  • 打赏
  • 举报
回复
我自己写的时候这两个文件名是一样的,我有这个文件。
gemouzhi 2005-11-28
  • 打赏
  • 举报
回复
你有lishengjie.jpg这个文件吗?
christina_sll 2005-11-28
  • 打赏
  • 举报
回复
学习中,,,,
sheek 2005-11-28
  • 打赏
  • 举报
回复
他是不是再写入后必须得立刻读阿?
还有我一次性写入好几个,他是不是都能读出来呢?
多谢帮助!
sheek 2005-11-28
  • 打赏
  • 举报
回复
我在网上找了一篇文章,是如此写的
服务器端实现代码:

import java.io.*;

import java.net.*;

public class FileServer{

public static void main(String[] args)throws Exception{

//创建文件流用来读取文件中的数据

File file=new File("lishengjie.jpg");

FileInputStream fos=new FileInputStream(file);


//创建网络服务器接受客户请求

ServerSocket ss=new ServerSocket(3108);

Socket client=ss.accept();


//创建网络输出流并提供数据包装器

OutputStream netOut=client.getOutputStream();

OutputStream doc=new DataOutputStream(new BufferedOutputStream(netOut));



//创建文件读取缓冲区

byte[] buf=new byte[2048];

int num=fos.read(buf);

while(num!=(-1)){//是否读完文件

doc.write(buf,0,num);//把文件数据写出网络缓冲区

doc.flush();//刷新缓冲区把数据写往客户端

num=fos.read(buf);//继续从文件中读取数据

}

fos.close();

doc.close();

}

}


客户方实现代码:

import java.io.*;

import java.net.*;


public class FileClient{

public static void main(String[] args)throws Exception{

//使用本地文件系统接受网络数据并存为新文件

File file=new File("newFile.jpg");

file.createNewFile();

RandomAccessFile raf=new RandomAccessFile(file,"rw");


// 通过Socket连接文件服务器

Socket server=new Socket(InetAddress.getLocalHost(),3108);


//创建网络接受流接受服务器文件数据

InputStream netIn=server.getInputStream();

InputStream in=new DataInputStream(new BufferedInputStream(netIn));


//创建缓冲区缓冲网络数据

byte[] buf=new byte[2048];

int num=in.read(buf);

while(num!=(-1)){//是否读完所有数据

raf.write(buf,0,num);//将数据写往文件

raf.skipBytes(num);//顺序写文件字节

num=in.read(buf);//继续从网络中读取文件

}

in.close();

raf.close();

}

}
可惜我在客户端能度过来,但是文件读的内容为空,0字节,为何呢?
luc_ne 2005-11-26
  • 打赏
  • 举报
回复
建立流之前是不是应该判断下文件属性,一些文本文件用字符流传,数据文件用字节流传?
skycncomp 2005-11-26
  • 打赏
  • 举报
回复
接分
yeyu710 2005-11-26
  • 打赏
  • 举报
回复
楼上的问得多清楚啊!
gemouzhi 2005-11-22
  • 打赏
  • 举报
回复
是怎么个传法?

1,一头传一头接?
1.1,一头只能传一头只能接?
1.2,两头都能接传.?

2, 同时互传?

3, 一对多的传(这种情况一般是不互传的)?

4, 多对一的传?

5, 多对多的传?

或者你是第 6 种?

你的用途是什么?

效率有没有要求?
skycncomp 2005-11-22
  • 打赏
  • 举报
回复
socket建立连接

用io流来操作。具体以前的贴子有
linlin2005 2005-11-22
  • 打赏
  • 举报
回复
说明白点,帮你顶一下

81,115

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧