JAVAネットワークプログラミングマルチスレッドアップロードファイル
1. UploadClient.java
2. UploadServer.java
3. UserThread.java
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.Socket;
public class UploadClient {
public static void main(String[] args) throws IOException {
// Socket
Socket s = new Socket("192.168.12.92", 11111);
//
// BufferedReader br = new BufferedReader(new FileReader(
// "InetAddressDemo.java"));
BufferedReader br = new BufferedReader(new FileReader(
"ReceiveDemo.java"));
//
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(
s.getOutputStream()));
String line = null;
while ((line = br.readLine()) != null) { //
bw.write(line);
bw.newLine();
bw.flush();
}
// Socket , ,
s.shutdownOutput();
//
BufferedReader brClient = new BufferedReader(new InputStreamReader(
s.getInputStream()));
String client = brClient.readLine(); //
System.out.println(client);
//
br.close();
s.close();
}
}
2. UploadServer.java
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
public class UploadServer {
public static void main(String[] args) throws IOException {
// Socket
ServerSocket ss = new ServerSocket(11111);
while (true) {
Socket s = ss.accept();
new Thread(new UserThread(s)).start();
}
}
}
3. UserThread.java
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.Socket;
public class UserThread implements Runnable {
private Socket s;
public UserThread(Socket s) {
this.s = s;
}
@Override
public void run() {
try {
//
BufferedReader br = new BufferedReader(new InputStreamReader(
s.getInputStream()));
//
// BufferedWriter bw = new BufferedWriter(new
// FileWriter("Copy.java"));
//
String newName = System.currentTimeMillis() + ".java";
BufferedWriter bw = new BufferedWriter(new FileWriter(newName));
String line = null;
while ((line = br.readLine()) != null) { //
bw.write(line);
bw.newLine();
bw.flush();
}
//
BufferedWriter bwServer = new BufferedWriter(
new OutputStreamWriter(s.getOutputStream()));
bwServer.write(" ");
bwServer.newLine();
bwServer.flush();
//
bw.close();
s.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}