|
![]() |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
import java.io.*; import java.net.*; public class RemoteFileClient { protected String hostIp; protected int hostPort; protected BufferedReader socketReader; protected PrintWriter socketWriter; public static void main(String[] args) { RemoteFileClient remoteFileClient = new RemoteFileClient("127.0.0.1", 3000); remoteFileClient.setUpConnection(); String fileContents =remoteFileClient.getFile("E:RemoteFile.txt"); remoteFileClient.tearDownConnection(); System.out.println(fileContents); } //========================== public RemoteFileClient(String aHostIp, int aHostPort) { hostIp = aHostIp; hostPort = aHostPort; } //=========================== public void setUpConnection() { try { Socket client = new Socket(hostIp, hostPort); socketReader = new BufferedReader( new InputStreamReader(client.getInputStream())); socketWriter = new PrintWriter(client.getOutputStream()); } catch (UnknownHostException e) { System.out.println("Error setting up socket connection: unknown host at " + hostIp + ":" + hostPort); } catch (IOException e) { System.out.println("Error setting up socket connection: " + e); } } //============================= public String getFile(String fileNameToGet) { StringBuffer fileLines = new StringBuffer(); try { socketWriter.println(fileNameToGet); socketWriter.flush(); String line = null; while ((line = socketReader.readLine()) != null) fileLines.append(line + " "); } catch (IOException e) { System.out.println("Error reading from file: " + fileNameToGet); } return fileLines.toString(); } //======================== public void tearDownConnection() { try { socketWriter.close(); socketReader.close(); } catch (IOException e) { System.out.println("Error tearing down socket connection: " + e); } } //========================= } ================================================================= 服务器端 ========= import java.io.*; import java.net.*; public class RemoteFileServer { protected int listenPort = 3000; public static void main(String[] args) { RemoteFileServer server = new RemoteFileServer(); server.acceptConnections(); } public void acceptConnections() { try { ServerSocket server = new ServerSocket(listenPort); Socket incomingConnection = null; while (true) { incomingConnection = server.accept(); handleConnection(incomingConnection); } } catch (BindException e) { System.out.println("Unable to bind to port " + listenPort); } catch (IOException e) { System.out.println("Unable to instantiate a ServerSocket on port: " + listenPort); } } public void handleConnection(Socket incomingConnection) { try { OutputStream outputToSocket = incomingConnection.getOutputStream(); InputStream inputFromSocket = incomingConnection.getInputStream(); BufferedReader streamReader = new BufferedReader(new InputStreamReader(inputFromSocket)); FileReader fileReader = new FileReader(new File(streamReader.readLine())); BufferedReader bufferedFileReader = new BufferedReader(fileReader); PrintWriter streamWriter = new PrintWriter(incomingConnection.getOutputStream()); String line = null; while ((line = bufferedFileReader.readLine()) != null) { streamWriter.println(line); } fileReader.close(); streamWriter.close(); streamReader.close(); } catch (Exception e) { System.out.println("Error handling a client: " + e); } } } 返回类别: 教程 上一教程: JSP + JAVABEAN循序渐进教程(三) 下一教程: 如何成为一个优秀的JSP程序员 您可以阅读与"JAVA实现远程文件读取"相关的教程: · JAVA:配置文件读取器 · JAVA文件读取路径问与答 · 用Java实现HTTP文件队列下载 · 从JAVA档案(JAR)中读取文件 · Java实现分类文件拷贝 |
![]() ![]() |
快精灵印艺坊 版权所有 |
首页![]() ![]() ![]() ![]() ![]() ![]() ![]() |