黑马程序员技术交流社区
标题:
TCP上传问题
[打印本页]
作者:
马伟奇
时间:
2011-12-30 00:42
标题:
TCP上传问题
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;
public class TCPUploadClien1 {
/**
* @param args
*/
public static void main(String[] args) throws Exception{
// TODO Auto-generated method stub
Socket s = new Socket("127.0.0.1",10006);
OutputStream os = s.getOutputStream();
FileInputStream fis = new FileInputStream("D:\\1.jpg");
int length = 0;
byte [] buffer = new byte[1024];
while((length = fis.read(buffer))!=-1){
os.write(buffer, 0, length);
}
s.shutdownOutput();
InputStream ins= s.getInputStream();
byte [] src = new byte[1024];
int num = 0;
while((num = ins.read(src))!=-1){
System.out.println(new String(src,0,num));
}
s.close();
}
}
==============================================================
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
public class TCPUploadServer1 {
/**
* @param args
*/
public static void main(String[] args) throws Exception{
// TODO Auto-generated method stub
ServerSocket ss = new ServerSocket(10006);
while(true){
Socket s = ss.accept();
new Thread(new picThread(s)).start();
}
}
}
class picThread implements Runnable{
private Socket s;
public picThread(Socket s){
this.s=s;
}
@Override
public void run() {
int count=1;
// TODO Auto-generated method stub
String ip = s.getInetAddress().getHostAddress();
try {
InputStream is = s.getInputStream();
File file = new File("f:\\"+ip+"("+(count)+")"+".jpg");//是这个file
while(file.exists())
file = new File(ip+"("+(count++)+")"+".jpg");//而不是这个file,但是怎么打印aaa
//这个file没有被反问道,怎么会这样呢
//while结束 file就死了 不是,要不这样
System.out.println(file);
FileOutputStream os = new FileOutputStream("f:\\"+file);//你看
byte [] buffer = new byte[1024];
while(is.read(buffer)!=-1){
os.write(buffer, 0, buffer.length);
}
OutputStream ops = s.getOutputStream();
ops.write("上传成功".getBytes());
os.close();
s.close();
} catch (Exception e) {
// TODO: handle exception
}
}
}
===============================================
127.0.0.1(1).jpg
127.0.0.1(1).jpg
127.0.0.1(1).jpg
输出结果总是1,我希望结果每次加1,请高手解决
作者:
吴上储
时间:
2011-12-30 00:59
File file = new File("f:\\"+ip+"("+(count)+")"+".jpg");//是这个file
while(file.exists())
file = new File(
"f:\\"+
ip+"("+(count++)+")"+".jpg");//
加入红色部分
//这个file没有被反问道,怎么会这样呢
//while结束 file就死了 不是,要不这样
System.out.println(file);
FileOutputStream os = new FileOutputStream(
"f:\\"+
file);//
去掉红色部分
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2