multithreading zum Lesen einer Datei in Java

Ich bin erstellen von threads zu Lesen, eine Datei in java. Wenn ich 2 threads, jeder thread liest die gesamte Datei, während ich möchte, dass Sie Lesen Sie die verschiedenen Teile der Datei. Ich versucht, indem in sleep(), join(), yield (), aber nach der Aufnahme ist es nur zu verlangsamen das Lesen.

public class MyClass implements Runnable {

    Thread thread;
    public MyClass(int numOfThreads) {
        for(int i=0;i < numOfThreads; i++) {
            thread = new Thread(this);
            thread.start();
        }
    }

    public void run() {
        readFile();
    }
}

In readFile, in der while-Schleife(Lesen Zeile für Zeile), rief ich den sleep - ()/Ertrag(). Wie kann ich die threads Lesen, die verschiedenen Teile der Datei?

Aktualisiert mit Methode zum Lesen von Dateien...

public synchronized void readFile() {
    try {
        String str;
        BufferedReader buf = new BufferedReader(new FileReader("read.txt");
        while ((line = buf.readLine()) != null) {
            String[] info = str.split(" ");
            String first name = info[0];
            String second name = info[1];
            try {
                Thread.sleep(100);
            } catch (InterruptedException e) {
            }
        }  catch (IOException e) {
        System.out.println("Error : File not found");
        e.printStackTrace();
    }
}
  • Wo ist der code, der die Datei liest?
  • public synchronized void readFile() { try{ String str; BufferedReader buf = new BufferedReader(new FileReader("read.txt"); while((Zeile=buf.readLine())!=null) { String[] info = str.split(" "); String Vorname = info[0]; String Nachname = info[1]; try{ Thread.sleep(100); } catch(InterruptedException e) { } } catch(IOException e){ System.aus.println("Fehler : Datei nicht gefunden"); e.printStackTrace(); } }
  • Sie können RandomAccessFile zu Lesen, an einer beliebigen position in einer Datei, aber es versteht nicht, "Linien". Zu finden Linien, müssen Sie Scannen Sie durch die gesamte Datei denn Zeilenumbrüche werden könnte, irgendwo in den Daten. Es sei denn, es ist strukturierter Daten.
  • Was sind Sie eigentlich erreichen wollen mit diesem?
InformationsquelleAutor user1690394 | 2013-09-24
Schreibe einen Kommentar