Java服务器端文件管理,JAVA中的文件管理服务器

我有一个应用程序(SWT),我需要在服务器端管理一个文件。通过管理我的意思是3件事情,写入内容到文件中,应用读写锁定机制和显示相同在TextArea。我需要创建一个多线程服务器来实现这一点,因为我的应用程序(实际上是基于eclipse的插件)接受多个用户。我不熟悉这种客户端服务器和套接字编程,我已经阅读了几个教程,但仍未找到任何最佳解决方案。我不需要代码(互联网上有很多),我需要的方式或步骤来做到这一点。 谢谢。JAVA中的文件管理服务器

此外,我发现一些服务器代码,实际上工作正常。但是不显示所需的结果。

我想要用这个文件做的事情是维护作者的名字。 SVN在服务器端做的版本号和相关目标。

服务器程序:

public void onServer() throws Exception {

String sentByClient;

String line1 = null;

ServerSocket socket = new ServerSocket(6789);

while(true) {

System.out.println("Listening...");

Socket connectionSocket = socket.accept();

BufferedReader inFromClient =

new BufferedReader(new InputStreamReader(connectionSocket.getInputStream()));

DataOutputStream outToClient = new DataOutputStream(connectionSocket.getOutputStream());

sentByClient = inFromClient.readLine();

System.out.println("Received: " + sentByClient);

File file=new File("HistoryFile.txt");//------------------server file

BufferedWriter writ=new BufferedWriter(new FileWriter(file));

writ.write(sentByClient);

writ.close();

BufferedReader read=new BufferedReader(new FileReader(file));

while((line1=read.readLine())!=null) {

System.out.println(line1);

}

outToClient.writeBytes(line1);

}

}

客户端代码:

public void onClient(String param) throws Exception {

Socket clientSocket = new Socket("localhost", 6789);

DataOutputStream outToServer = new DataOutputStream(clientSocket.getOutputStream());

BufferedReader inFromServer = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));

//sentence = inFromUser.readLine();

sentence=param; // Here i'm sending the author name, revision details, etc from svn to my server

outToServer.writeBytes(sentence);

newSentence = inFromServer.readLine();

System.out.println("FROM SERVER: " + newSentence);

historyArea.append(newSentence);

}

我其实需要的是保持服务器上的文件和文本区域(historyArea)显示文件内容。我将历史数据从SVN发送到文件。

期望Ouptut:

Revision Number: 1

Author: a

Time:xxxx

Changed Path:xxxx

-------------------

Revision Number: 2

Author: a

Time:xxxx

Changed Path:xxxx

------------------

Revision Number: 3

Author: a

Time:xxxx

Changed Path:xxxx

Ouptut我得到仅仅是第一次修订:

Revision Number: 1

Author: a

Time:xxxx

Changed Path:xxxx

+0

在onClient()中,输出'param'并检查你是否确实发送了正确的数据。我认为问题出在调用onClient()的代码中。 –

2013-04-18 08:45:48

+0

@NandakishoreK是的,可能是这个原因,正如我在代码中提到的那样,它打印服务器发送的数据,输出中没有这样的事情(在客户端),必须重新检查该方法。 –

2013-04-18 09:00:42

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值