我想把一个.zip文件压缩包从MonitorAgent传到DataService ,结果确实传过去了,但是.zip无法打开 是一个破损的文件,这个问题该怎么办啊?
public class DataService {
public static void main(String []args){
try {
ServerSocket server = new ServerSocket(60001);
Socket client = server.accept();
System.out.println("数据服务中心得到的客户端scoket:" + client);
InputStream i = client.getInputStream();
ObjectInputStream ii = new ObjectInputStream(i);
File f =(File)ii.readObject();
f.createNewFile();
} catch (Exception e) {
e.printStackTrace();
}
}
}import java.io.File;
import java.io.ObjectOutputStream;
import java.io.OutputStream;
import java.net.Socket;public class MonitorAgent {
public static void main(String[] args) {
try {
DataPackage data = new DataPackage();
File f = new File("33.zip");
data.setFile(f);
Socket startsocket = new Socket("127.0.0.1", 60001);
OutputStream o = startsocket.getOutputStream();
ObjectOutputStream s = new ObjectOutputStream(o);
s.writeObject(f);
s.flush();
} catch (Exception e) {
e.printStackTrace();
}
}
}
public class DataService {
public static void main(String []args){
try {
ServerSocket server = new ServerSocket(60001);
Socket client = server.accept();
System.out.println("数据服务中心得到的客户端scoket:" + client);
InputStream i = client.getInputStream();
ObjectInputStream ii = new ObjectInputStream(i);
File f =(File)ii.readObject();
f.createNewFile();
} catch (Exception e) {
e.printStackTrace();
}
}
}import java.io.File;
import java.io.ObjectOutputStream;
import java.io.OutputStream;
import java.net.Socket;public class MonitorAgent {
public static void main(String[] args) {
try {
DataPackage data = new DataPackage();
File f = new File("33.zip");
data.setFile(f);
Socket startsocket = new Socket("127.0.0.1", 60001);
OutputStream o = startsocket.getOutputStream();
ObjectOutputStream s = new ObjectOutputStream(o);
s.writeObject(f);
s.flush();
} catch (Exception e) {
e.printStackTrace();
}
}
}
File f =(File)ii.readObject();
f.createNewFile();太牛了
楼主用java写了一个笑话
仅仅是一个路径+文件名而已
f.createNewFile();
只是建立了一个大小为0的空文件
o关闭以后,server也关闭了,这是怎么回事情,我不希望server也关闭
public class TestSocket { public static void main(String[] args) {
try {
Socket server = new Socket("127.0.0.1", 60001);
OutputStream o = server.getOutputStream();
byte[] byteBuffer = new byte[1024];
o.write(byteBuffer);
o.close();
TestLogger.log("server is closed " + server.isClosed());
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} }}