仔细研究一下java的IO(java.io)库,肯定能实现你要的功能

解决方案 »

  1.   

    你的意思是把服务器的文件传送到本地客户端把?//RemoteFileClient 的代码清单 
    import java.io.*;
    import java.net.*;public class RemoteFileClient {
        protected BufferedReader socketReader;
        protected PrintWriter socketWriter;
        protected String hostIp;
        protected int hostPort;    public RemoteFileClient(String aHostIp, int aHostPort) {
            hostIp = aHostIp;
            hostPort = aHostPort;
        }
        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 + "\n");
            } catch (IOException e) {
                System.out.println("Error reading from file: " + fileNameToGet);
            }        return fileLines.toString();
        }
        public static void main(String[] args) {
            RemoteFileClient remoteFileClient = new RemoteFileClient("127.0.0.1", 3000);
            remoteFileClient.setUpConnection();
            String fileContents = remoteFileClient.getFile("C:\\WINNT\\Temp\\RemoteFile.txt");
            remoteFileClient.tearDownConnection();        System.out.println(fileContents);
        }
        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 void tearDownConnection() {
            try {
                socketWriter.close();
                socketReader.close();
            } catch (IOException e) {
                System.out.println("Error tearing down socket connection: " + e);
            }
        }
    }
      

  2.   

    //RemoteFileServer 的代码清单 
    import java.io.*;
    import java.net.*;public class RemoteFileServer {
        int listenPort;
        public RemoteFileServer(int aListenPort) {
            listenPort = aListenPort;
        }
        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);
            }
        }
        public static void main(String[] args) {
            RemoteFileServer server = new RemoteFileServer(3000);
            server.acceptConnections();
        }
    }