ciao andbin.
allora, la tua analisi è giusta.
il punto successivo è quello di andare a leggere il file in base all'indice segnalato dall'utente.
poi ne faccio il parsing, e passo i valori ad un altro metodo (ma questo diciamo che non ci interessa).
facendo così, in parte ho risolto il problema:
codice:
public static void main(String[] args) throws IOException {
System.out.println("=============================");
System.out.println("| SCEGLI CONNESSIONE |");
System.out.println("=============================");
File dir = new File(".");
HashMap<Integer, String> options = new HashMap<>();
int counter = 1;
for (File f : dir.listFiles()) {
if (f.getName().toLowerCase().endsWith(".properties")) {
options.put(counter++, f.getName());
}
}
options.put(counter++, "EXIT");
for (Map.Entry<Integer, String> m : options.entrySet()) {
String voice = m.getValue();
String replace = voice.replace(".properties", "");
System.out.println(m.getKey() + " - " + replace.toUpperCase());
}
Scanner scanner = new Scanner(System.in);
int choose = scanner.nextInt();
String file = options.get(choose);
System.out.println(file); --> NOME CORRETTO DEL FILE IN BASE A INDICE
}
però mi mancherebbe come fare nel caso in cui l'utente voglia uscire.
l'uscita è sempre l'ultimo valore del menu, e quindi può essere una volta 3, una volta 2, una volta 5, ecc...
insomma non lo so a priori.