java lee el archivo del dispositivo de red

alguien me puede ayudar a encontrar un tutorial o código de ejemplo de Java

leyendo archivos desde cualquier máquina que tenga la misma red

La forma más sencilla de hacer esto sería leerlo utilizando rutas de archivos regulares.

En Windows:

new File("\\\\server\\path\\to\\file.txt") // (double-backslashes required for backslashes in path) 

En Unix:

Primero monte el recurso compartido usando Samba (SMB, NFS o cualquier otro protocolo) en una ubicación como / mnt / network. Entonces puedes usar:

 new File("/mnt/network/path/to/file.txt") 

Una vez que tenga el objeto File, puede usar FileInputStream, FileReader o cualquier otra cosa en la que desee leer el archivo.

Editar para comentarios de respuesta. Si está utilizando un Applet, probablemente desee extraer el archivo de un servidor web. Puedes usar la clase incorporada en java.net.URL, pero te recomendaría esto si tienes que hacer algo más que simples cosas: http://hc.apache.org/httpclient-3.x/index.html

Ejemplo (del sitio HTTP de Commons):

  // Create an instance of HttpClient. HttpClient client = new HttpClient(); // Create a method instance. GetMethod method = new GetMethod(url); try { // Execute the method. int statusCode = client.executeMethod(method); if (statusCode != HttpStatus.SC_OK) { System.err.println("Method failed: " + method.getStatusLine()); } // Read the response body. byte[] responseBody = method.getResponseBody(); // Deal with the response. // Use caution: ensure correct character encoding and is not binary data System.out.println(new String(responseBody)); } catch (HttpException e) { System.err.println("Fatal protocol violation: " + e.getMessage()); e.printStackTrace(); } catch (IOException e) { System.err.println("Fatal transport error: " + e.getMessage()); e.printStackTrace(); } finally { // Release the connection. method.releaseConnection(); } } } 

¡Esto no es tan simple! Para usar las Aplicaciones de Cliente de Servidor, necesita una API de Red.
Tengo 1 por DeBukkit y una versión extendida. Si desea enviar archivos, le sugiero uno (Server Client Extended .jar) porque hay una opción para enviar archivos (FilePacket.java).
Estos son los enlaces a las libs: All Libs

Código para Server for Client Server Extended:

 public class TestServer extends Server { public TestServer() { super(29898, true, true,true); registerMethod("bt", new FileReciver() { @Override public void onCompleteRecive(FileInfo data) { System.out.println("Completely recived : "+data); Path p = Paths.get(data.getName()); try { Files.createFile(p); Files.write(p, data.getContent()); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } /** * @see com.bebukkit.niton.network.packets.buffer.BufferedPacketReciver#run(com.bebukkit.niton.network.packets.Packet, java.net.Socket) */ @Override public void run(Packet msg, Socket socket) { super.run(msg, socket); sendMessage(new Packet("", null), socket); } }); } @Override public void preStart() { registerMethod("msg", new ReciveMethod() { @Override public void run(Packet msg, Socket socket) { broadcastMessage(msg); } }); } @Override public void onWrongDataPacketException(ClassNotFoundException e) { // TODO Auto-generated method stub } @Override public void onReceivePacketError(IOException e) { // TODO Auto-generated method stub } @Override public void onPacketReckognized(ServerSocket socket) { // TODO Auto-generated method stub } @Override public void onPacketSendException(Exception e, Packet message, Socket socket2) { // TODO Auto-generated method stub } @Override public void onSendPacketToNotConnectedClient(Packet message, Socket socket2) { // TODO Auto-generated method stub } @Override public void onBrodcast(Packet pack) { // TODO Auto-generated method stub } @Override public void onServerStartError(IOException e) { // TODO Auto-generated method stub } @Override public void onServerStop() { // TODO Auto-generated method stub } } 

Código para el cliente:

 package com.bebukkit.niton.network.test; import java.io.IOException; import java.io.Serializable; import java.net.Socket; import java.util.Scanner; import com.bebukkit.niton.network.Client; import com.bebukkit.niton.network.packets.Packet; import com.bebukkit.niton.network.packets.ReciveMethod; public class TestClient extends Client { public TestClient() { super("localhost", 29898, 5000, false,true); registerMethod("msg", new ReciveMethod() { @Override public void run(Packet msg, Socket socket) { System.out.println(msg.getData()); } }); registerMethod("replay", new ReciveMethod() { @Override public void run(Packet msg, Socket socket) { System.out.println("REREplay"); } }); } @Override public void onSocketClosingFail() { // TODO Auto-generated method stub } @Override public void onLoginPacketSendingFailed(IOException ex) { // TODO Auto-generated method stub } @Override public void onConnectionError(IOException ex) { // TODO Auto-generated method stub } @Override public void onMessageReciveError(Exception ex) { // TODO Auto-generated method stub } @Override public void onPacketSendError(Exception ex, Packet pack) { // TODO Auto-generated method stub } @Override public void start() { super.start(); } } 

Necesita un Servidor + Cliente de inicio separado:

 package com.bebukkit.niton.network.test; public class ServerStarter { public static void main(String[] args) { new TestServer(); } } 

Cliente:

 package com.bebukkit.niton.network.test; import java.io.File; import java.io.IOException; import java.nio.file.Files; import javax.swing.JFileChooser; import com.bebukkit.niton.network.packets.Packet; import com.bebukkit.niton.network.packets.buffer.BufferedPacket; import com.bebukkit.niton.network.packets.file.FileInfo; import com.bebukkit.niton.network.packets.file.FilePacket; public class ClientStarter { public static void main(String[] args) throws IOException { TestClient tc = new TestClient(); tc.start(); new Thread(new Runnable() { @Override public void run() { try { Thread.sleep(3000); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } JFileChooser c = new JFileChooser("Choose a file to upload"); c.setFileSelectionMode(JFileChooser.FILES_ONLY); c.showDialog(null,"Upload"); File f = c.getSelectedFile(); try { tc.sendMessage(new FilePacket("file", f)); tc.sendMessage(new Packet("replay","test")); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }).start(); } } 

Pruebe la siguiente URL para obtener un tutorial http://www.roseindia.net/java/beginners/construct_file_name_path.shtml

Creo que la mejor manera es usar java.net.URL para abrir un InputSteam, porque puedes generalizarlo en archivos que no necesariamente están en la misma red.