本帖最后由 、__WSD吴少东 于 2013-4-26 14:40 编辑
代码在运行的时候没问题,文件也存在,但是客户端收不到服务器的反馈信息。不知道是怎么回事,我检查着代码没问题,IO流对应关系也正确。
大神们,求指点啊!!!!- /*
- 需求:编写代码,客户端读取文件在本地读取文件,上传到服务端,并进行保存
- */
- import java.io.*;
- import java. net.*;
- /*
- 客户端;
- 步骤:
- 1. 创建服务,
- 2. 获取文件,
- 3. 将文件关联到输出流中,
- 4. 获取服务器反馈信息
- 5. 关闭资源
- */
- class CopyClient
- {
- public static void main(String[] args) throws Exception
- {
- Socket s = new Socket("127.0.0.1",10006);
- File file = new File("ChartDemo.java");
- System.out.println(file.isFile());
- BufferedReader buff =
- new BufferedReader(new FileReader(file));
- PrintWriter pwout = new PrintWriter(s.getOutputStream(),true);
- BufferedReader bufin =
- new BufferedReader(new InputStreamReader(s.getInputStream()));
- String line = null;
- while((line=buff.readLine())!=null)
- {
- //System.out.println(line);
- pwout.println(line);
- }
- s.shutdownInput();//要加入结束表示,让服务端知道,我上传的文件完成了。
- String str = bufin.readLine();//获取服务器反馈信息。
- System.out.println(str);
- buff.close();
- s.close();
- }
- }
- /*
- 服务端:
- 步骤:
- 1. 创建服务,
- 2. 获取客户端在流中的数据,
- 3. 将数据存储
- 4. 反馈数据给服务端
- 5. 关闭资源
- */
- class CopyServer
- {
- public static void main(String[] arge) throws Exception
- {
- ServerSocket ss = new ServerSocket(10006);
- Socket s = ss.accept();
- String ip = s.getInetAddress().getHostAddress();
- System.out.println(ip+"........connected");
- File file = new File("Chart.txt");
- PrintWriter pwout = new PrintWriter(new FileWriter(file),true);
-
- BufferedReader bufin =
- new BufferedReader(new InputStreamReader(s.getInputStream()));
-
-
-
- String line = null;
- while((line=bufin.readLine())!=null)
- {
- //System.out.println(line);
- pwout.println(line);
- }
-
-
- PrintWriter pw = new PrintWriter(s.getOutputStream(),true);
- pw.println("上传成功");
- pwout.close();
- s.close();
- ss.close();
- }
- }
复制代码 |
|