思路:
因为是交替输出,所以想到了用两个线程交互,输出流作为共享同步资源
A B 两个线程分别用文件字符输入流,当遇到字符为回车(B中为回车或者空格)时,调用wait方法,同时notify对方
实现代码:
输出流C类:
package abcTxt;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;
public class CTxt {
//输出流
private Writer fw;
//开始标志,主要控制a线程先输出
private boolean start;
//A线程停止标志,用于A.txt中单词数量少于B.txt中时
private boolean endA;
//B线程停止标志,用于B.txt中单词数量少于A.txt中时
private boolean endB;
public CTxt() {
try {
this.fw = new FileWriter("src/abcTxt/C.txt");
} catch (IOException e) {
e.printStackTrace();
}
}
public boolean isStart() {
return start;
}
public void setStart(boolean start) {
this.start = start;
}
public boolean isEndA() {
return endA;
}
public void setEndA(boolean endA) {
this.endA = endA;
}
public boolean isEndB() {
return endB;
}
public void setEndB(boolean endB) {
this.endB = endB;
}
public void write(int ch) {
try {
fw.write(ch);
fw.flush();
} catch (IOException e) {
e.printStackTrace