J'ai environ 10 fichiers texte d'entrée avec chaque fichier texte comportant des paramètres vidéo. Je dois exécuter tous les 10 fichiers d'entrée et comparer les résultats. Existe-t-il un moyen d'exécuter le programme sans avoir à modifier le nom de fichier d'entrée dans le chemin à chaque fois?
public static void main(String[] args) throws IOException {
File config = new File("C:\\Users\\Dell\\Documents\\DataProcessing\\src\\config6.txt");
try {
BufferedReader br = new BufferedReader(new FileReader(config));
String st;
while ((st = br.readLine()) != null) {
String s[] = st.split("\\r?\\n");
for (int i = 0; i < s.length; i++) {
arrList.add(s[i]);
}
}
br.close();
}
catch (Exception e) {
}
}
4 Réponses :
Pour résoudre ce problème, lisez d'abord dans un fichier à partir de l'entrée de l'utilisateur et validez s'il s'agit d'un fichier valide, si oui, puis continuez dans votre programme. J'espère que cela vous aidera! P>
List<Integer> replaceNumbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
String filePath = "C:\\Users\\Dell\\Documents\\DataProcessing\\src\\config0.txt";
for (int f = 0; f < replaceNumbers.size(); f++) {
File config = new File(filePath.replace("0", replaceNumbers.get(f).toString()));
try {
BufferedReader br = new BufferedReader(new FileReader(config));
String st;
while ((st = br.readLine()) != null) {
String s[] = st.split("\\r?\\n");
for (int i = 0; i < s.length; i++) {
arrList.add(s[i]);
}
}
br.close();
} catch (Exception e) { }
}
Just replace numbers in replaceNumbers list.
Au lieu de remplacer la valeur, essayez d'utiliser string :: Format code> depuis son efficacité plus efficace.
Essayez quelque chose comme ça. En supposant que votre premier fichier de configuration est le config0.txt code> et le dernier est config9.txt code>. intrestream.range (A , b) code> la méthode génère un intestream code> de nombres à partir de A code> (inclus) à b code> (exclusif). P> < P> Aussi, j'utilise un ESSAYER CODE> Bloc avec des ressources Signification du BR.Close () code> est implicite. En savoir plus sur Essayez CODE> avec des ressources ici . p> p>
Vous pouvez mettre tous les chemins dans un tableau, puis naviguer dans le tableau comme indiqué ci-dessous:
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.util.ArrayList;
import java.util.List;
class Main {
public static void main(String[] args) {
List<String> arrList = new ArrayList<String>();
// Array of file path strings
String[] paths = { "D:\\somedir\\abc.txt",
"C:\\Users\\Dell\\Documents\\DataProcessing\\src\\config6.txt",
"C:\\dir1\\dir2\\xyz.txt" };
// Iterate paths[]
for (String path : paths) {
File config = new File(path);
try {
BufferedReader br = new BufferedReader(new FileReader(config));
String st;
while ((st = br.readLine()) != null) {
String s[] = st.split("\\r?\\n");
for (int i = 0; i < s.length; i++) {
arrList.add(s[i]);
}
}
br.close();
} catch (Exception e) {
}
}
}
}