Maison >Java >javaDidacticiel >Comment lire le fichier .txt en utilisant RandomAccessFile en Java ?
Normalement, lors de la lecture ou de l'écriture d'un fichier, vous ne pouvez lire ou écrire que les données à partir du début du fichier. Vous ne pouvez pas lire/écrire à partir d'emplacements aléatoires.
La classe java.io.RandomAccessFile en Java vous permet de lire/écrire des données dans des fichiers à accès aléatoire.
Ceci est similaire à un tableau d'octets de grande taille avec un index ou un curseur (appelé pointeur de fichier), vous pouvez obtenir la position de ce pointeur en utilisant la méthode getFilePointer() et définir la position en utilisant la méthode seek().
Cette classe propose diverses méthodes pour lire et écrire des fichiers. La méthode readLine() de cette classe lit la ligne suivante du fichier et la renvoie sous forme de chaîne.
Les étapes pour lire les données d'un fichier à l'aide de la méthode readLine() de cette classe sont les suivantes :
Instancier la classe File en passant le chemin du fichier requis au format chaîne.
Instancier la classe StringBuffer.
Instanciez la classe RandomAccessFile en passant l'objet File créé ci-dessus et une chaîne représentant le mode d'accès (r : lecture, rw : lecture/écriture, etc.).
Parcourir le fichier si sa position est inférieure à sa longueur (méthode length()).
Ajoutez chaque ligne à l'objet StringBuffer créé ci-dessus.
import java.io.File; import java.io.IOException; import java.io.RandomAccessFile; public class RandomAccessFileExample { public static void main(String args[]) throws IOException { String filePath = "D://input.txt"; //Instantiating the File class File file = new File(filePath); //Instantiating the StringBuffer StringBuffer buffer = new StringBuffer(); //instantiating the RandomAccessFile RandomAccessFile raFile = new RandomAccessFile(file, "rw"); //Reading each line using the readLine() method while(raFile.getFilePointer() < raFile.length()) { buffer.append(raFile.readLine()+System.lineSeparator()); } String contents = buffer.toString(); System.out.println("Contents of the file: \n"+contents); } }
Contents of the file: Tutorials Point originated from the idea that there exists a class of readers who respond better to online content and prefer to learn new skills. Our content and resources are freely available and we prefer to keep it that way to encourage our readers acquire as many skills as they would like to. We don’t force our readers to sign up with us or submit their details either. Enjoy the free content
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!