为什么我先把图片转换为byte[]数组然后经过传送再恢复的时候图片大小缩小并少了一块?谢谢大家帮忙
server:
OutputStream outputToSocket = incomingConnection.getOutputStream();
InputStream inputFromSocket = incomingConnection.getInputStream();
File f=new File("d:\\3.bmp");
BufferedInputStream bufferIn = new BufferedInputStream(inputFromSocket);
byte[] buffer=new byte[1024];
BufferedOutputStream bw=new BufferedOutputStream(new FileOutputStream(f));
while(bufferIn.read(buffer)!=-1){
bw.write(buffer);
}
} catch (Exception e) {
System.out.println("Error handling a client: " + e);
client:
File f=new File(path);
byte[] buffer=new byte[1024];
FileInputStream in = new FileInputStream(f);
BufferedInputStream br=new BufferedInputStream(new FileInputStream(f));
while(br.read(buffer)!=-1){
bufferOut.write(buffer);
}
server:
OutputStream outputToSocket = incomingConnection.getOutputStream();
InputStream inputFromSocket = incomingConnection.getInputStream();
File f=new File("d:\\3.bmp");
BufferedInputStream bufferIn = new BufferedInputStream(inputFromSocket);
byte[] buffer=new byte[1024];
BufferedOutputStream bw=new BufferedOutputStream(new FileOutputStream(f));
while(bufferIn.read(buffer)!=-1){
bw.write(buffer);
}
} catch (Exception e) {
System.out.println("Error handling a client: " + e);
client:
File f=new File(path);
byte[] buffer=new byte[1024];
FileInputStream in = new FileInputStream(f);
BufferedInputStream br=new BufferedInputStream(new FileInputStream(f));
while(br.read(buffer)!=-1){
bufferOut.write(buffer);
}
OutputStream outputToSocket = incomingConnection.getOutputStream();
InputStream inputFromSocket = incomingConnection.getInputStream();
File f = new File("d:\\3.bmp");
byte[] buffer = new byte[1024];
int len;
while ((len = inputFromSocket.read(buffer)) != -1) {
outputToSocket.write(buffer, 0, len);
}
outputToSocket.flush();客户端一样,直接操作byte就可以了。