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) { } } } }