如何将多线程从文本文件添加到BufferedReader



我想从文本文件中添加多线bufferedReader

因此,它将是1个文本文件的2个线程

==================

输出:

你好。我是哈立德。

(Hello = thread1)(我是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 + "rn";
            }
            System.out.print(content);
        }
        finally{
            if(bread!=null){
                bread.close();
            }
        }
    }
}

您可以尝试这样做:

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();
        }
    }
}

最新更新