Red de conocimiento de abogados - Derecho de sociedades - Acerca de la transferencia de archivos usando JAVA SOCKET

Acerca de la transferencia de archivos usando JAVA SOCKET

Transferencia de archivos punto a punto

/*

importar java.io.*;

importar java.net.* ;

importar java.util.*;

*/

conexión HttpURLConnection privada; //Conexión de almacenamiento

private int downsize = -1;/ /Tamaño del archivo de descarga, el valor inicial es -1

private int downed = 0; //Tamaño descargado de Wenjia, el valor inicial es 0

archivo guardado privado RandomAccessFile; registrar descarga Archivo de almacenamiento de información

URL privada fileurl //Registra la dirección del archivo a descargar

private DataInputStream fileStream //Registra el flujo de datos descargados

try{

/*Comience a crear el archivo de almacenamiento descargado e inicialice el valor*/

Archivo tempfileobject = new File("h:\\webwork-2.1.7.zip ");

p>

if(!tempfileobject.exists()){

/*Crea el archivo si no existe*/

tempfileobject.createNewFile();

}

savefile = new RandomAccessFile(tempfileobject, "rw");

/*Establecer conexión*/

fileurl = nueva URL("/files/documents/693/9723/webwork-2.1.7.zip");

conexión = (HttpURLConnection)fileurl.openConnection(); >

conexión.setRequestProperty("Range"," byte=" this.downed "-");

this.downsize = conexión.getContentLength()

// System.out.println(connection.getContentLength());

new Thread(this).start()

}

catch(Exception e) {

System.out.println (e.toString());

System.out.println("Error del generador"); (0);

}

public void run(){

/*Comienza a descargar el archivo a

La próxima prueba de descarga reanudable sin punto de interrupción, hay un problema con el archivo descargado*/

try{

System.out.println("begin!"

);

Fecha de inicio = nueva Fecha();

comenzartime.setTime(nueva Fecha().getTime();

byte[] filebyte; > int onecelen ;

//System.out.println(this.connection.getInputStream().getClass().getName();

this.fileStream = new DataInputStream(

new BufferedInputStream(

this.connection.getInputStream()));

System.out.println("size = " this.downsize); /p>

while(this.downsize != this.downed){

if(this.downsize - this.downsize gt; 262144){//Establecer un caché máximo de 256 KB

filebyte = nuevo byte[262144];

onecelen = 262144;

}

else{

filebyte = nuevo byte[this .downsize - this.downed];

onecelen = this.downsize - this.downed

}

onecelen = this.fileStream. read(filebyte, 0, onecelen);

this.savefile.write(filebyte, 0, onecelen

this.downed = onecelen; .out.println (this.downed);

}

this.savefile.close();

System.out.println("end!"

p>

System.out.println(begintime.getTime()

System.out.println(nueva Fecha().getTime());

Sistema.out.println(begintime.getTime() - nueva fecha().

getTime());

}

catch(Exception e){

System.out.println(e.toString());

System.out.println("¡Hay un problema con el método run()!"

}

}

/**); *

//FileClient.java

importar java.io.*;

importar java.net.*;

clase pública FileClient {

public static void main(String[] args) lanza una excepción {

//Utiliza el sistema de archivos local para aceptar datos de la red y guardarlos como un archivo nuevo

Archivo archivo = nuevo Archivo ("d:\\fmd.doc");

archivo.createNewFile();

RandomAccessFile raf = nuevo RandomAccessFile(archivo, " rw");

//Conéctese al servidor de archivos a través de Socket

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

/ /Crear un flujo de aceptación de red para aceptar datos de archivos del servidor

p>

InputStream netIn = server.getInputStream();

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

//Crear un búfer para almacenar datos de red

byte[] buf = new byte[2048];

int num = in.read(buf);

while (num != (-1) ) {//Si se han leído todos los datos

raf.write(buf, 0, num); al archivo

raf.skipBytes(num); // Escribe los bytes del archivo secuencialmente

num = in.read(buf); //Continúa leyendo archivos de la red

>

}

in.close() ;

raf.close();

}

}

//FileServer.java

importar java.io.*;

importar java.util.*

importar java.net.*; ;

servidor de archivos de clase pública {

public static void main(String[] args) lanza una excepción {

//Crea una secuencia de archivos para leer datos en el archivo

Archivo archivo = new File("d: \\System Features.doc");

FileInputStream fos = new FileInputStream(archivo);

/ /Crear un servidor de red para aceptar solicitudes de clientes

Servir

rSocket ss = new ServerSocket(8801);

Socket client = ss.accept();

//Crear un flujo de salida de red y proporcionar un contenedor de datos

OutputStream netOut = client.getOutputStream();

OutputStream doc = new DataOutputStream(

new BufferedOutputStream(netOut));

//Crear búfer de lectura de archivos Área

byte[] buf = nuevo byte[2048];

int num = fos.read(buf);

mientras (num != (- 1)) {// Si el archivo ha sido leído

doc.write(buf, 0, num); //Escribe los datos del archivo desde el búfer de red

doc. flush() ;//Actualiza el búfer y escribe los datos en el cliente

num = fos.read(buf); //Continúa leyendo datos del archivo

}

fos.close();

doc.close();

}

}

*/