Ciao a tutti,
vorrei sapere se è possibile evitare la scrittura di alcuni caratteri vietati per l'immissione da parte dell'utente di un nome file.
Ora ho risolto in questo modo, ma preferirei evitare proprio che alcuni caratteri vengano immessi ( lo faccio per la compilazione di alcuni campi nel programma con opportuni renderer... ma qui non saprei come fare)
codice:JFrame frame = new JFrame(""); String answer = JOptionPane.showInputDialog(frame, "Inserisci"); String regex = "[a-zA-Z_0-9]*"; if (Pattern.matches(regex, answer)){ JOptionPane.showMessageDialog(null, answer + " is valid"); } else { JOptionPane.showMessageDialog(null, "ERROR: " +answer + " is not valid"); return; }
Altro problema simile con un jFileChooser.showSaveDialog:
qui il controllo non riesco a farlo sulla stringa immessa... ma sul percorso del file. Se scrivo un nome che comprende un punto interrogativo mi inserisce quel nome come estensione sceltacodice:File file0 = new File(curDir) jFileChooser3.setCurrentDirectory(file0); jFileChooser3.setSelectedFile(new File("")); int retval2 = jFileChooser3.showSaveDialog(this); if (retval2 == jFileChooser3.APPROVE_OPTION) { File file = jFileChooser3.getSelectedFile(); String NomeFile = file.getAbsolutePath(); String NomeFileSalvato = file.getName(); Boolean nomeFileNonValido = false; String regex = "[a-zA-Z_0-9]*"; if (Pattern.matches(regex, NomeFileSalvato)){ nomeFileNonValido = false; } else { JOptionPane.showMessageDialog(null, "ERROR: " + NomeFileSalvato + " is not valid"); nomeFileNonValido = true; }![]()
Grazie

Rispondi quotando

