Yuvaların Üzerinden Gönderilmesi

Java'da soket üzerinden dosya yollamanın bir yolu var mı? Öyleyse nasıl? Değilse, java kullanarak bir bilgisayardan diğerine bir dosya göndermek nasıl oluyor?

0

5 cevap

Bir soket bağlantısını açar ve dosya baytını sokete kopyalar ve soketin diğer ucundan baytları okursunuz. Bir soket bağlantısı üzerinden herhangi bir akış göndermeniz gibi. dedi ki, bir dosyayı bir bilgisayardan diğerine (java kullanarak) kopyalamak, paylaşılan bir dosya sistemine kopyalamak, dosyayı sıkıştırmak, dosyayı bir web sunucusuna göndermek de dahil olmak üzere ...

4
katma

İstemci-Sunucu mimarisi, istediğinizi elde etmek için en uygun olanıdır.

İlk bilgisayarda FileServer 'ı başlatın ve ikincisinde FileClient komutunu çalıştırın.

Yuva üzerinde dosya gönderme .

1
katma
import java.io.BufferedInputStream;



import java.io.File;

import java.io.FileInputStream;

import java.io.IOException;

import java.io.OutputStream;

import java.net.ServerSocket;

import java.net.Socket;

public class Main
 {

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

 ServerSocket servsock = new ServerSocket(123456);

File myFile = new File("s.pdf");

while (true)
 {

  Socket sock = servsock.accept();

   byte[] mybytearray = new byte[(int) myFile.length()];

   BufferedInputStream bis = new BufferedInputStream(new FileInputStream(myFile));

  bis.read(mybytearray, 0, mybytearray.length);

   OutputStream os = sock.getOutputStream();

   os.write(mybytearray, 0, mybytearray.length);

     os.flush();

    sock.close();

  }

 }

}

The client module


import java.io.BufferedOutputStream;

import java.io.FileOutputStream;

import java.io.InputStream;

import java.net.Socket;

public class Main {

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

 Socket sock = new Socket("127.0.0.1", 123456);

 byte[] mybytearray = new byte[1024];

 InputStream is = sock.getInputStream();

 FileOutputStream fos = new FileOutputStream("s.pdf");

  BufferedOutputStream bos = new BufferedOutputStream(fos);

   int bytesRead = is.read(mybytearray, 0, mybytearray.length);

 bos.write(mybytearray, 0, bytesRead);

   bos.close();

   sock.close();

  }

}
1
katma

Birincil dikkatiniz bir bilgisayardan diğerine dosya gönderme üzerindeyse. Ve kendi dosya sunucunuzu ve müşterinizi özel bir protokol kullanarak oluşturmamanız için, bir ftp sunucusunu yerleştirebilirsiniz. Sunucu tarafında ve kendi java uygulamalarınızda istemci tarafında bir ftp istemcisi .

0
katma