Comment sélectionner une portion de texte grâce au numéro de ligne
Comment sélectionner une portion de texte grâce au numéro de ligne - Java - Programmation
MarshPosté le 04-12-2014 à 22:36:32
Bonsoir à tous une petite question, j'ai du code qui doit me copier/coller un fichier texte, mais le fichier de sortie ne dois que me copier le texte compris entre la ligne d et la ligne f.
Voici mon code de départ :
public class Main { //int d; //int f;
private static final String source = "D:\\source.txt"; private static final String destination = "D:\\destination.txt";
//Erreurs private static final String FNFError = "Fichier source inexistant"; private static final String WError = "Impossible d'écrire dans le fichier de destination";
public static void main(String args[]) { Main copieur = new Main(); File fSource = new File(source); File fDest = new File(destination);
Je pense que je dois changer la ligne en gras par une boucle for et utiliser la méthode getLineNumber() afin d'avoir le nombre qqch du type : for((getLineNumber() = d); (getLineNumber())<=f; getLineNumber())++).
Marsh Posté le 04-12-2014 à 22:36:32
Bonsoir à tous une petite question, j'ai du code qui doit me copier/coller un fichier texte, mais le fichier de sortie ne dois que me copier le texte compris entre la ligne d et la ligne f.
Voici mon code de départ :
public class Main {
//int d;
//int f;
private static final String source = "D:\\source.txt";
private static final String destination = "D:\\destination.txt";
//Erreurs
private static final String FNFError = "Fichier source inexistant";
private static final String WError = "Impossible d'écrire dans le fichier de destination";
public static void main(String args[]) {
Main copieur = new Main();
File fSource = new File(source);
File fDest = new File(destination);
copieur.copie(fSource, fDest);
}
private void copie(File fSource, File fDest) {
try {
BufferedReader reader = new BufferedReader(new FileReader(fSource));
BufferedWriter writer = new BufferedWriter(new FileWriter(fDest));
String line;
while (null != (line = reader.readLine())) {
writer.write(line);
writer.newLine();
}
reader.close();
writer.close();
} catch (FileNotFoundException e1) {
System.err.println(FNFError);
return;
}catch (IOException e) {
System.err.println(WError);
return;
}
}
}
Je pense que je dois changer la ligne en gras par une boucle for et utiliser la méthode getLineNumber() afin d'avoir le nombre qqch du type : for((getLineNumber() = d); (getLineNumber())<=f; getLineNumber())++).
Mais je n'y arrive pas, pouvez vous m'aider ?
Merci