Mandar imagenes a una computadora remota con rmi
Estoy haciendo un proyecto con rmi; en la que necesito enviar imagenes a otra computadora,
pero no se como hacerle
pero no se como hacerle
Crea una clase wrapper que contenga la imagen y sobrecarga sus metodos de serialización y deserialización para que escriba y lea la imagen como un array de bytes.
Si no te sale avisa que intentaré hacer un ejemplillo, pero ahora mismo me da pereza ;)
Si no te sale avisa que intentaré hacer un ejemplillo, pero ahora mismo me da pereza ;)
Hola te agradezco mucho tu ayuda, perotengo tadavia algunos problemas.
Tengo esto:
El siguiente es un metodo que implementa la interfaz:
public FileInputStream getFIS() throws java.rmi.RemoteException {
try{
if(!vectFiles.isEmpty()){
File file=(File)vectFiles.firstElement();
System.out.println(file.getAbsolutePath());
return new FileInputStream(file.getAbsolutePath());
}
}catch(IOException ioe){
System.out.println(ioe.toString());
}
return null;
}
Esto lo uso en la computadora donde quiero copiar el archivo:
article es una instancia de la Interface que se implementa y que contiene el método anterior.
FileInputStream fc=article.getFIS();
Y paso este FileInputStream en el siguiente metodo:
public static void copy(FileImputStream fis String nombreDestino) throws IOException {
FileOutputStream fos = new FileOutputStream(nombreDestino);
FileChannel canalFuente = fis.getChannel();
FileChannel canalDestino = fos.getChannel();
canalFuente.transferTo(0, canalFuente.size(), canalDestino);
fis.close();
fos.close();
}
pero me sale una exception:
java.rmi.UnmarshalException:error unmarshalling return; nested esception is: java.io.WriteAbortedException:writing aborted; java.io.Not Serializable Exception: java.io.FileInputStream
Ayudame, please
Tengo esto:
El siguiente es un metodo que implementa la interfaz:
public FileInputStream getFIS() throws java.rmi.RemoteException {
try{
if(!vectFiles.isEmpty()){
File file=(File)vectFiles.firstElement();
System.out.println(file.getAbsolutePath());
return new FileInputStream(file.getAbsolutePath());
}
}catch(IOException ioe){
System.out.println(ioe.toString());
}
return null;
}
Esto lo uso en la computadora donde quiero copiar el archivo:
article es una instancia de la Interface que se implementa y que contiene el método anterior.
FileInputStream fc=article.getFIS();
Y paso este FileInputStream en el siguiente metodo:
public static void copy(FileImputStream fis String nombreDestino) throws IOException {
FileOutputStream fos = new FileOutputStream(nombreDestino);
FileChannel canalFuente = fis.getChannel();
FileChannel canalDestino = fos.getChannel();
canalFuente.transferTo(0, canalFuente.size(), canalDestino);
fis.close();
fos.close();
}
pero me sale una exception:
java.rmi.UnmarshalException:error unmarshalling return; nested esception is: java.io.WriteAbortedException:writing aborted; java.io.Not Serializable Exception: java.io.FileInputStream
Ayudame, please
