62,614
社区成员
发帖
与我相关
我的任务
分享
package chenyu.ninth.test;
import java.io.BufferedInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintStream;
import java.net.ServerSocket;
import java.net.Socket;
public class TcpServer {
public static void main(String args[])throws Exception{
ServerSocket server = null;
Socket client = null;
server = new ServerSocket(8888);
System.out.println("服务器端正在运行,等待客户端连接");
client = server.accept();
InputStream input = client.getInputStream();
BufferedInputStream bis = new BufferedInputStream(input);
OutputStream output = new FileOutputStream("D:\\tupian\\chenting.jpg");
PrintStream out = new PrintStream(client.getOutputStream());
String str ="上传成功";
if(bis!=null&&output!=null){
int temp=0;
while((temp=bis.read())!=-1){
output.write(temp);
}
//out.println(str);
}
out.println(str);
bis.close();
out.close();
output.close();
input.close();
client.close();
server.close();
}
}
package chenyu.ninth.test;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintStream;
import java.io.PrintWriter;
import java.net.*;
public class ClientTest {
/**
* @param args
*/
public static void main(String[] args) throws Exception{
Socket client = null;
client = new Socket("localhost",8888);
InputStream input = new FileInputStream("D:\\tupian\\2.gif");
OutputStream output = client.getOutputStream();
PrintStream ps = new PrintStream(output,true);
BufferedReader buf = new BufferedReader(new InputStreamReader(client.getInputStream()));
try{if(input!=null&&ps!=null){
int temp=0;
while((temp=input.read())!=-1){
ps.write(temp);
}
}}catch(Exception e){
System.out.println("源文件不存在");
}
String str = buf.readLine();
System.out.println(str);
buf.close();
output.close();
input.close();
ps.close();
client.close();
}
}
package chenyu.ninth.test;
import java.io.*;
import java.net.*;
public class TcpTestServer {
/**
* @param args
*/
public static void main(String[] args) throws Exception{
ServerSocket server = new ServerSocket(8888);
System.out.println("服务器端等待客户连接...");
Socket client = server.accept();
InputStream input = client.getInputStream();
OutputStream out = client.getOutputStream();
//PrintStream pw = new PrintStream(out);
ObjectInputStream ois = new ObjectInputStream(input);
Target obj = (Target)ois.readObject();
String filename = obj.filename;
byte[] b = obj.b;
int length = obj.len;
File f = new File("D:"+File.separator+filename);//默认上传至d盘根目录。
FileOutputStream output = new FileOutputStream(f);
output.write(b);
output.close();
ois.close();
/*pw.println("服务器收到内容!!!");
pw.close();*/
out.close();
input.close();
client.close();
server.close();
}
}
package chenyu.ninth.test;
import java.io.*;
import java.net.*;
public class TcpTestClient {
public static void main(String args[])throws Exception{
System.out.println("输入文件的完整路径名,请确保输入正确,因为没有做验证:");
BufferedReader bfr = new BufferedReader(new InputStreamReader(System.in));
String fileUrl = bfr.readLine();
//String fileUrl = "D:\\haiweiwang\\1.mp3";//在这里输入文件的路径名字
String filename = subStr(fileUrl);
File f = new File(fileUrl);
int length = (int)f.length();
InputStream input = new FileInputStream(f);
byte[] b = new byte[length];
input.read(b);
Target tar = new Target(filename,b,length);
Socket client = new Socket("localhost",8888);
OutputStream output = client.getOutputStream();
InputStream in = client.getInputStream();
//BufferedReader bfrin = new BufferedReader(new InputStreamReader(in));
// String str = bfrin.readLine();
ObjectOutputStream oos = new ObjectOutputStream(output);
oos.writeObject(tar);//使用对象流传入服务器端。
System.out.println("上传完毕");
//System.out.println(str);//接收服务器端返回信息
//bfrin.close();
oos.close();
output.close();
client.close();
input.close();
}
public static String subStr(String str){
String returnvalue = null;
for(int i=str.length()-1;i>0;i--)
{
if(str.charAt(i)=='\\'){
returnvalue = str.substring(i+1);
break; }
else continue;
}
//System.out.println(returnvalue);
return returnvalue;
}
}