赛迪网 > IT技术 Java > 技术动态
  IT资讯搜索
 
IT产品搜索
[程序开发][网管世界][网络安全][数据库技术]
[操作系统][嘉宾聊天·在线访谈][活动集锦]
[精彩专题][Symantec专区][订阅IT技术周刊]
[开发论坛][网管论坛][安全论坛][数据库论坛]
[操作系统论坛][Sybase专区][IBM dW技术专区]
[病毒求助][病毒与漏洞播报][文档·源码下载]

I/O及网络--一个简单的文件传送代码

发布时间:2008.01.11 04:54     来源:赛迪网    作者:loveofgod

import java.io.*;
import java.net.*;

public class Server
{
   static final int size = 10240;
   static String usrDir = System.getProperty("user.dir");
   static String DiskInfoXML = usrDir + "disk_info.xml";

   public static void main(String argv[])
   {
       DatagramSocket sd = null;
       DatagramPacket packet = null;
  String diskRequest;
       
       try
       {
           sd = new DatagramSocket(7777); //建立socket连接
        System.out.println("Server Started ...");
    while (true) //一直监听
           {
               byte[] buffer = new byte[size]; 
               packet = new DatagramPacket(buffer, size);
      sd.receive(packet);
      byte[] data = packet.getData(); 
            int port = packet.getPort();
               int len = packet.getLength();
               InetAddress address = packet.getAddress();
               diskRequest = new String(buffer); //打印获取内容
      System.out.println("diskRequest = \n" + diskRequest); 
      FileOutputStream fout=new FileOutputStream(DiskInfoXML);
               fout.write(buffer,0,len); //写进文件
               fout.close();
               System.out.println(len+" bytes received");
        }
       }
       catch (SocketException e)
       {
           System.out.println(e.toString());
       }
       catch (IOException e)
       {
           System.out.println(e.toString());
       }
   }
}

/************************************** Client ****************************************
****************************** Author: Gong haiping 2006.7.29 ************************/
import java.io.*;
import java.net.*;

public class Client
{
   public static void main(String argv[])
   {
       try
       {
           int bufferSize = 1024;
           String remoteHost="192.168.208.138";
           int remotePort=7777;
           String usrDir = System.getProperty("user.dir");
    String diskInfoXML = usrDir + "disk_info.xml";
    File f=new File(diskInfoXML);
    FileInputStream fr = new FileInputStream(f); 
    BufferedInputStream br = new BufferedInputStream(fr); 
    Long l=Long.valueOf(f.length());
    int len=l.intValue(); //获取文件内容长度
    byte[] buffer = new byte[len];
    br.read(buffer,0,len);
    for(int i=0;i      System.out.print((char)buffer);
    }
    Socket sd = new Socket(remoteHost, remotePort,false);
    InputStream in = sd.getInputStream();
           OutputStream out = sd.getOutputStream();
    out.write(buffer,0,len);
           out.flush();
       }
       catch (IOException e)
       {
           System.out.println(e.toString());
       }
       System.out.println("Send OK ...");
   }

        (责任编辑:包春林)


[ 发表评论 ] 字体[  ] [ 打印 ] [ 进入博客 ] [ 进入论坛 ]  [ 推荐给朋友 ]
  相关文章
· J2SE综合:浅析Java语言中两种异常的差别 (01-10) · 敏捷开发的七种武器 (01-09)
· SQL Server 2000 JDBC驱动程序 (01-09) · Java JRE下载(JRE 1.4) (01-09)
· 21天学JAVA源代码 (01-09) · 一个完整的数据库应用程序  (01-09)
· JavaScript写的扫雷程序 (01-09) · Java入门--Java面向对象编程学习总结 (01-09)
· J2ME综合--谈谈J2ME的几个重要的功能 (01-09) · J2ME综合--J2ME应用程序内存优化三招 (01-09)
  客户需求反馈表
* 姓  名:
更多资料  了解方案  认识厂商
* 单位名称:
* 联系电话:
* 电子邮件:
  赛迪推荐  
  手机·资费 ·新品·导购·评测·手机资费·宽带
手机搜索  诺基亚 N73 MOTO Z6
  IT产品 ·笔记本·台式机·服务器·打印·投影
IT产品搜索 
  IT技术 ·开发·网管·安全·数据库·操作系统
  信息化 ·热点·专题·访谈·周刊·方案案例
· 信息化市场百家争鸣 SaaS深陷争议“泥潭”
· 提高管理水平 "两栖"CIO应具备的六大能力
· 国产ITIL运维先行者 四大厂商角力BI市场
· 金融行业GSN专题解决方案 企业网解决方案
  IT博客 ·曾剑秋·项立刚·Java学习·网管
  IT技术论坛 ·开发·网管·安全·数据库·系统