java 网络间的文件传输

使用socket套接字,文件输出流对象写入文件
import java.net.*;
import java.io.*;

public class file_client
{
    
int i;
    
static int port;
    
static String iaddr;
    
static String infilename;
    
public file_client(){
    
try
    
{

        Socket socket 
=new Socket(InetAddress.getByName(iaddr),port);
        DataOutputStream outstream
=new DataOutputStream(socket.getOutputStream());
        FileInputStream fis 
=new FileInputStream(infilename);

        
//
        while ((i=fis.read())!=-1)

        
{
            outstream.writeInt(i);
        }

        outstream.writeInt(i);
        System.out.println(
"data transfer sucessfully!");
        socket.close();

    }

    
catch (IOException e)
    
{
        System.out.println(e.getMessage());

    }

    }



public static void main(String args[])
{
    
if (args.length<3)
    
{
        System.out.println(
"usage: java file_server [IP] [port] [filename]");
        System.exit(
1);
    }

    iaddr
=args[0];
    port
=Integer.parseInt(args[1]);
    infilename
=args[2];
    file_client serverstart
=new file_client();
}

}
以上为客户端代码,下为服务端代码:
import java.net.*;
import java.io.*;

public class file_client
{
    
int i;
    
static int port;
    
static String iaddr;
    
static String infilename;
    
public file_client(){
    
try
    
{

        Socket socket 
=new Socket(InetAddress.getByName(iaddr),port);
        DataOutputStream outstream
=new DataOutputStream(socket.getOutputStream());
        FileInputStream fis 
=new FileInputStream(infilename);

        
//
        while ((i=fis.read())!=-1)

        
{
            outstream.writeInt(i);
        }

        outstream.writeInt(i);
        System.out.println(
"data transfer sucessfully!");
        socket.close();

    }

    
catch (IOException e)
    
{
        System.out.println(e.getMessage());

    }

    }



public static void main(String args[])
{
    
if (args.length<3)
    
{
        System.out.println(
"usage: java file_server [IP] [port] [filename]");
        System.exit(
1);
    }

    iaddr
=args[0];
    port
=Integer.parseInt(args[1]);
    infilename
=args[2];
    file_client serverstart
=new file_client();
}

}

编译javac file_server.java
      javac file_client.java
测试:
服务端:java file_server 2022 77.txt
客户端  java file_client 192.168.1.102 2022 file_client.java


posted on 2012-02-26 11:28 snowhill 阅读(440) 评论(0)  编辑 收藏 引用 所属分类: java


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理


<2024年12月>
24252627282930
1234567
891011121314
15161718192021
22232425262728
2930311234

导航

公告

又一年...........

留言簿(3)

随笔分类(13)

文章分类(131)

文章档案(124)

c++

java

linux

oracle

常用软件

其他

网络配置

系统安全

音乐

搜索

最新评论

阅读排行榜