How can i write data into an image (create image by received data) .
(By socket)
My client read an image from system and send it to server and server should receive and save it in any other place in my computer.
Here is my code:
client:
public class Client_Image_Transfer {
Socket clientSocket = null;
OutputStream outputStream = null;
DataOutputStream dataOutputStream = null;
InputStream inputStream = null;
public Client_Image_Transfer() {
try {
clientSocket = new Socket("localhost", 6002);
outputStream = clientSocket.getOutputStream();
dataOutputStream = new DataOutputStream(outputStream);
inputStream = clientSocket.getInputStream();
BufferedReader br = new BufferedReader(new FileReader("HelloNewPic.jpg"));
outputStream.write(br.read());
System.out.println("Client: Image sent to server");
dataOutputStream.close();
clientSocket.close();
} catch (Exception e) {
e.printStackTrace();
}
}
Server:
public class Server_Image_Transfer {
ServerSocket serverSocket = null;
Socket socket = null;
DataInputStream dataInputStream = null;
public Server_Image_Transfer() {
try {
serverSocket = new ServerSocket(6002);
System.out.println("Server is Waiting for request...");
socket = serverSocket.accept();
System.out.println("Connected with: " + socket.getInetAddress());
dataInputStream = new DataInputStream(socket.getInputStream());
System.out.println("Server received image from client");
// How write ?
} catch (Exception e) {
e.printStackTrace();
}
}
My server received image correctly, But now how write by an image without ImageIO
?
This is not worked also:
File outPutFile = new File("C:\\Users\\khoy\\Desktop\\a2.jpg");
FileOutputStream fos = null;
fos = new FileOutputStream(outPutFile,true);
fos.write(socket.getInputStream()); // Compile Error