J'ai lu un fichier texte qui ressemble à ceci:Lire fichier texte et convertir en tableau 2d int en fonction de l'entrée en Java
operationName1 Value
Il y a un nombre variable de lignes, avec différentes opérations et la valeur correspondante. Je peux lire le fichier et obtenir un tableau de chaînes 2D en sortie. C'est mon code.
try{
Path path = Paths.get("./myFile.txt");
String[][] array = Files.lines(path)
.map(s -> s.split("\\s+", 2))
.map(a -> new String[]{a[0], a[1]})
.toArray(String[][]::new);
}catch(IOException e){
}
Question: Comment pourrais-je changer mon code pour obtenir un tableau 2D int à la place, où operationName1 serait « 0 » et operationName2 serait « 1 » (il n'y a que deux opérations possibles, chacun étant défini par un particulier chaîne)?
Ce fichier texte:
operationOne 5
OtherOp 999
operationOne 8
operationOne 2
deviendrais ce tableau 2d int:
[[0,5],[1,999],[0,8],[0,2]]
L'indice est trop importante. Donc la 1ère ligne du fichier texte est la 1ère ligne de mon tableau. PS: S'il y a une meilleure syntaxe (plus récente), je suis ouvert à la suggestion.
Merci beaucoup.
Hey David, pourquoi ne pas utiliser la réponse de la question précédente et le personnaliser? –
Vous avez la valeur dans 'a [0]'. Testez cette valeur et mappez-la au nombre correspondant 0 ou 1. –
Pourquoi essayez-vous d'utiliser des flux ici? Prévoyez-vous d'utiliser le parallélisme? Si ce n'est pas le cas, la boucle simple serait probablement beaucoup plus lisible (et probablement un peu plus rapide). – Pshemo