我想从文本文件中添加多线程BufferedReader
因此它将是1个文本文件中的2个线程
=================
输出:
你好我是哈立德
(Hello =线程1) (我是Khalid = Thread2)
这是我的没有线程的代码:
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class KhalidThread {
public static void main(String[] args) throws IOException {
BufferedReader bread = null;
try{
bread = new BufferedReader(new FileReader("C:\\k.txt"));
String line, content="";
while((line = bread.readLine()) !=null){
content += line + "\r\n";
}
System.out.print(content);
}
finally{
if(bread!=null){
bread.close();
}
}
}
}
答案 0 :(得分:0)
您可以尝试这样做:
public static void main(String[] args) throws IOException {
BufferedReader bread = new BufferedReader(new FileReader("D:\\k.txt"));
RunnableClass rc = new RunnableClass(bread);
Thread t1 = new Thread(rc, "Thread1");
Thread t2 = new Thread(rc, "Thread2");
t1.start();
t2.start();
}
static class RunnableClass implements Runnable {
private BufferedReader bread = null;
RunnableClass(BufferedReader bread) {
this.bread = bread;
}
@Override
public void run() {
try {
synchronized (bread) {
String content = bread.readLine();
System.out.println(content + " = " + Thread.currentThread().getName() );
}
} catch (IOException e) {
e.printStackTrace();
}
}
}