首 页文章中心下载中心繁體中文
设为首页
加入收藏
联系我们
您当前的位置:开源盛世-源代码下载网 -> 文章中心 -> 其他编程 -> Java技术 -> 文章内容 退出登录 用户管理
栏目导航
· VC# 技术 · Delphi技术
· Java技术 · 通用算法
· 编程相关
热门文章
· Tab Control控件使用...
· 学生档案管理系统
· [图文] 排列组合公式
· UTF-8与GB2312之间的...
· DirectShow下载安装...
· Virtual PC 在PAE模...
· Windows2000终端服务...
· MapInfo上的GIS系统...
· Mapbasic参考手册索...
· MapX应用开发中文讲...
相关文章
· ArcGIS Server JAVA...
· ArcGIS Server Java...
· Server Java 开发实...
· [图文] Server Java 自定义...
· Java 存取Blob、Clo...
· 用java -jar命令运行...
· ArcGIS Server Java...
· 基于Java Applet的W...
· MapXtreme Java 版 ...
· 三步学会Java Socke...
Java 网络文件传输
作者:何双江  来源:vscodes.com整理  发布时间:2007-6-8 16:08:31  发布人:Polaris

减小字体 增大字体

关键字: Java 何双江  IO  NET  File
读者范围:
正文:

服务器端实现代码:
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();
       }
}
服务器
客户端
总结:

End of《Java 网络文件传输》

[] [返回上一页] [打 印] [收 藏]
 
∷相关“Java 网络文件传输”文章评论∷
(评论内容只代表网友观点,与本站立场无关!) [更多评论...]
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图 网站目录 鄂ICP备06007162
开源盛世 版权所有Copyright © 2003-2005 VSCodes.Com. All Rights Reserved.