赵雅智_java 网络编程(3)之上传文件和图片 (一)

2014-11-24 09:19:31 · 作者: · 浏览: 0

上传文件和图片格式

客户端:

1.建立socket客户端,连接服务,要有目标ip和端口
2.读取本地文件的内容
3.输出到服务器端:通过socket的输出流
4.传输结束:socket的shutdownOutput()
5.接受服务端传过来的上传成功提示:通过socket的输入流
6.关闭资源。

服务器端

1.建立ServerSocket服务,监听一个端口
2.通过accept方法产生一个socket对象,与客户端建立通道。
3.通过socket的输入流读取客户端穿过来信息。
4.将获取到的信息保存到文件。
5.向客户端发出上传成功提示。
6.关闭资源

实例1:上传文件:

客户端:

[java]
package net.csdn.web;

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.UnknownHostException;

public class TcpTextClient {

/**
* @param args
* @throws IOException
* @throws UnknownHostException
*/
public static void main(String[] args) throws UnknownHostException, IOException {
// TODO Auto-generated method stub

Socket s = new Socket("192.168.49.59",9009);
BufferedReader br=new BufferedReader(new FileReader("d:\\1.txt"));
PrintWriter pwout = new PrintWriter(s.getOutputStream(),true);
String line = null;
while((line = br.readLine())!=null){
pwout.println(line);
}
s.shutdownOutput();
BufferedReader brin = new BufferedReader(new InputStreamReader(s.getInputStream()));
System.out.println(brin.readLine());
br.close();
s.close();
}

}

package net.csdn.web;

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.UnknownHostException;

public class TcpTextClient {

/**
* @param args
* @throws IOException
* @throws UnknownHostException
*/
public static void main(String[] args) throws UnknownHostException, IOException {
// TODO Auto-generated method stub

Socket s = new Socket("192.168.49.59",9009);
BufferedReader br=new BufferedReader(new FileReader("d:\\1.txt"));
PrintWriter pwout = new PrintWriter(s.getOutputStream(),true);
String line = null;
while((line = br.readLine())!=null){
pwout.println(line);
}
s.shutdownOutput();
BufferedReader brin = new BufferedReader(new InputStreamReader(s.getInputStream()));
System.out.println(brin.readLine());
br.close();
s.close();
}

}

服务端:

[java]
package net.csdn.web;

import java.io.BufferedReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;

public class TcpTextServer {

public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub

ServerSocket ss = new ServerSocket(9009);
Socket s = ss.accept();
String ip = s.getInetAddress().getHostAddress();
System.out.println(ip+"....connection");
BufferedReader brin = new BufferedReader(new InputStreamReader(s.getInputStream()));
PrintWriter pw=new PrintWriter(new FileWriter("e:\\server.txt"),true);

String line=null;

while((line=brin.readLine())!=null){
pw.println(line);
}
PrintWriter pwout=new PrintWriter(s.getOutputStream(),true);
pwout.println("上传成功");