ciao a tutti!!!
mi sono incastrato in un esercizio di java sui file di lettura e scrittura...l'esercizio sarebbe dato un file.txt leggere il contenuto e cambiare l'interno delle parole più grandi di tre lettere cioè lasciare la prima e l'ultima parola e mischiare le lettere rimanenti.es: gatto=gtato.
Il testo è il seguente:

"Secondo una ricerca dell’Università di Cambridge non importa l’ordine delle lettere in una parola, l’unica cosa che conta è che la prima e l’ultima lettera siano al posto giusto. Tutte le altre lettere della parola possono essere invertite senza creare problemi alla lettura."
e dovrebbe convertirsi più o meno in questo:

Sceodno una rcircea dlel’Uvitrisenà di Cmbairgde non ipromta l’odirne dlele lrteete in una proala, l’uicna csoa che cntoa è che la pimra e l’utlmia ltetrea saino al psoto gusito. Ttute le atlre lrteete dlela poalra psonoso esrsee itinvtere snzea carere prleobmi alla letutra.

io ho lo vorrei inserire qua dentro:

codice:
public static void main(String[] args) {
        String nativeLF = UIManager.getSystemLookAndFeelClassName();
        try {
            UIManager.setLookAndFeel(nativeLF);
        } catch (Exception e) {
        }
        JFileChooser selector = new JFileChooser();
        selector.setFileSelectionMode(JFileChooser.FILES_ONLY);
        int ok = selector.showOpenDialog(null);
        if (ok != JFileChooser.APPROVE_OPTION) {
            JOptionPane.showMessageDialog(null, "ciao, alla prossima");
        } else {
            File fitxerEntrada = selector.getSelectedFile();
            String parola = null;
            try {
                Scanner entra = new Scanner(fitxerEntra);
                parola = entra.next();
                System.out.println("Prima parola=" + parola);
            } catch (FileNotFoundException e) {
                System.out.println("file non trovato");
            }
            JFileChooser selector2 = new JFileChooser();
            int ok2 = selector2.showSaveDialog(null);
            if (ok2 != JFileChooser.APPROVE_OPTION) {
                JOptionPane.showMessageDialog(null, "ciao. alla prossima");
            } else {
                File fitxerEsci = selector2.getSelectedFile();
                try {
                    PrintWriter pw = new PrintWriter(new FileWriter(fitxerEsci, true));
                    pw.println(parola);
                    pw.println("funzione que mi converta il testo");//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                    pw.close();
                } catch (IOException e) {
                    System.out.println("Problemes d'E/S");
                }
            }
        }
    }
}
un pò laborioso...però il tema è trovare la funzione che separa le parole e cambia il suo interno. Io ho provato con:

codice:
try {
            BufferedReader leer = new BufferedReader(new FileReader(archivo));
            while ((s = leer.readLine()) != null) {
   
                StringTokenizer st = new StringTokenizer(s);
              st.countTokens();
                while (st.hasMoreElements()) { 
                    parola = st.nextToken();
                  }   }
            leer.close();
        } catch (IOException e) {
            System.out.println("error bufferReader3");
        }
però non so come continuare!!
qualcuno mi sa aiutare???
grazie della pazienza