package pack;
import java.io.*;
import java.util.*;
public class fileWriterThread extends Thread {
BufferedWriter bw;
BufferedReader br;
public fileWriterThread(BufferedWriter bw, BufferedReader br) {
this.bw = bw;
this.br = br;
}
public void run() {
try {
while (br.ready()) {
String readln = br.readLine();
StringTokenizer st = new StringTokenizer(readln," ");
while (st.hasMoreTokens()) {
synchronized (bw) {
bw.write(st.nextToken() + '\n');
}
}
}
br.close();
} catch (IOException ioe) {
System.out.println(ioe.getMessage());
}
}
public static void main(String[] args) {
try {
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(
new FileOutputStream(new File("writeme"))));
fileWriterThread th1 = new fileWriterThread(bw, new BufferedReader(
new InputStreamReader(
new FileInputStream(new File("first")))));
fileWriterThread th2 = new fileWriterThread(bw, new BufferedReader(
new InputStreamReader(new FileInputStream(
new File("second")))));
fileWriterThread th3 = new fileWriterThread(bw, new BufferedReader(
new InputStreamReader(
new FileInputStream(new File("third")))));
th1.start();
th2.start();
th3.start();
while (th1.isAlive() || th2.isAlive() || th3.isAlive()) {
sleep(100);
}
System.out.println("Finished");
bw.close();
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
}
Niciun comentariu:
Trimiteți un comentariu