Pessoal, srá que alguém pode me explicar como fasso o cliente RMI para o seguinte servidor:
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.rmi.Naming;
import java.rmi.RemoteException;
import java.rmi.RMISecurityManager;
import java.rmi.server.UnicastRemoteObject;
import javax.swing.JFileChooser;
import javax.swing.JOptionPane;
public class FileSystemServer extends UnicastRemoteObject implements FileSystemInter {
public FileSystemServer() throws RemoteException {
super();
}
public String criarArquivo(String arquivo) {
JFileChooser jfc = new JFileChooser();
JOptionPane.showMessageDialog(null,"Selecione o diretorio onde quer salvar o arquivo");
jfc.showSaveDialog(null);
String text = "Write your text here";
FileWriter file;
File arq = jfc.getSelectedFile();
try {
file = new FileWriter(new File(arq.getPath()));
file.write(text);
file.close();
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
public String lerArquivo(String arquivo) {
JFileChooser jfc = new JFileChooser();
JOptionPane.showMessageDialog(null,"Escolha o arquivo que sera lido");
jfc.showOpenDialog(null);
File arquivod = jfc.getSelectedFile();
StringBuffer fs = new StringBuffer();
try
{
BufferedReader in = new BufferedReader(new FileReader(arquivod));
String str;
while (in.ready())
{
str = in.readLine();
fs.append(str);
System.out.println(str);
}
in.close();
}
catch (IOException e)
{
System.out.println(" Arquivo nao encontrado");
}
return null;
}
public String copiarArquivo(String de, String para) {
JFileChooser jfc = new JFileChooser();
JOptionPane.showMessageDialog(null,"Escolha o arquivo que sera movido");
jfc.showOpenDialog(null);
File arquivoc = jfc.getSelectedFile();
JOptionPane.showMessageDialog(null,"Selecione o diretorio de destino");
jfc.showOpenDialog(null);
arquivoc.renameTo(new File(jfc.getCurrentDirectory().getAbsolutePath(), arquivoc.getName()));
return null;
}
public String deletarArquivo(String arquivo) {
JFileChooser jfc = new JFileChooser();
JOptionPane.showMessageDialog(null,"Escolha o arquivo que sera deletado");
jfc.showOpenDialog(null);
File arquivod = jfc.getSelectedFile();
StringBuffer fs = new StringBuffer();
try
{
BufferedReader in = new BufferedReader(new FileReader(arquivod));
String str;
while (in.ready())
{
str = in.readLine();
fs.append(str);
System.out.println(str);
}
in.close();
}
catch (IOException e)
{
System.out.println("Arquivo nao encontrado");
}
arquivod.delete();
return null;
}
public static void main(String[] args){
try{
FileSystemServer obj = new FileSystemServer();
Naming.rebind("//localhost/FileSystem", obj);
System.out.println("Serviços prontos");
}
catch(Exception e){
System.out.println("Serviços não disponíveis: " + e.getMessage());
e.printStackTrace();
}
}
}
Olhei alguns exemplos, mas todos são apenas de transmissão de mensagem do cliente para o servidor, portnto uma unica funcionalidade, dentrod o método main do cliente. Mas nesse meu servidor, tem várias funcionalidades, então não da pra usar só o main. Alguém pode me ajudar. Ou mostra algum exemplo de cliente?