JSPCN主页 | JSP空间 | 网站制作 | JSP下载 | JSP论坛 | JSP教程 | 关于JSPCN | 联系我们
JSP虚拟主机,jsp空间,java空间,java虚拟空间,详细请点击进入
做最专业的JSP中文网站 当前位置首页--JSP技术--文件操作  
文章搜索:
关键字 标题
  
JSP中文网内容管理系统(JCMS)
JSP虚拟主机
网络笔记本
网摘,图片,笔记收藏
虚拟服务器

JSPCN文章目录分类
JSP配置[219]JSP基础[136]
中文问题[69]上传问题[27]
JAVABEAN[46]数据库[212]
文件操作[126]图片声音[17]
JSP其他[57]时间相关[16]
JAVAMAIL[72]STRUTS[144]
开发工具[28]教程系列[157]
JSP实例[89]
JAVA基础[421]APPLET[78]
JAVA网络[179]Applica[115]
Servlet[98]XML[163]
J2ME[257]J2EE[374]
考试相关[63]JAVA线程[90]
EJB[261]Swing[26]
Java API[141]声音图片[28]
异常处理[33]JAVA实例[290]
JAVA类[139]SUN[89]
Hibernate[6]JMX[8]
Spring[34]
本版推荐文章 
本版热点文章 
相关文章链接 
 
JAVA实现远程文件读取!
作者:未知     文章来源:www.jspcn.net
访问次数:1378次     加入时间:2005年01月19日
客户端
=============================================
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);
}
}

}






===========================================
输出结果:


---------------看!我读取了E:RemoteFile.txt啊!
================================================
Wrapping up the server
Before we move on to another, more practical example, let´s review the steps to create and
use a ServerSocket:
1. Instantiate a ServerSocket with a port on which you want it to listen for incoming
client connections (throws an Exception if there´s a problem).
2. Call accept() on the ServerSocket to block while waiting for connection.
3. Get the streams on that underlying Socket for reading and writing.
4. Wrap the streams as necessary to simplify your life.
5. Read from and write to the Socket.
6. Close your open streams (and remember, never close your Reader before your Writer).
You can find the complete code listing for RemoteFileServer at Code listing for
RemoteFileServer on page 33.


===================================
Wrapping up the server
Before we move on to another, more practical example, let´s review the steps to create and
use a ServerSocket:
1. Instantiate a ServerSocket with a port on which you want it to listen for incoming
client connections (throws an Exception if there´s a problem).
2. Call accept() on the ServerSocket to block while waiting for connection.
3. Get the streams on that underlying Socket for reading and writing.
4. Wrap the streams as necessary to simplify your life.
5. Read from and write to the Socket.
6. Close your open streams (and remember, never close your Reader before your Writer).
==================================

 
Copyright © 2002-2005 JSPCN.net. All rights reserved.
JSP中文网    备案序号:蜀ICP备05001583号
成都恒海科技发展有限公司    成都市一环路南二段6号新瑞楼三楼8号