questo è quello che sono riuscito:

codice:
package ejercicio;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.Random;
import java.util.StringTokenizer;

/**
 * @author roby
 */
public class Ejercicio {public static String mixpalablas(String inicio)
{       
        for (int a=0;a<inicio.length();a++){
        if (inicio.charAt(a)!=',' && inicio.charAt(a)!='.' )
            inicio.charAt(a);
        }
        char[] vec1 = inizio.toCharArray();
        char[] vec2 = inizio.toCharArray();
        
        Random random = new Random();
        int r = random.nextInt(vec1.length-1);
        int i = 0;
        int j = r+1;
        while(i <= r){
           vec2[vec1.length -i-1] = vec1[i];
            i++;
        }
        while (j <= vec1.length -1){
           vec2[j-r-1] = vec1[j];
            j++;
        }
        String nuovaparola = String.valueOf(vec2);
        return nuovaparola;
}
    public static void main(String[] args) throws IOException {
        String filee = "r://esercizio.txt";
        String s = "";
        int j = 0;
        int f = 0;
        int i = 0;
        String nuevotexto="";
        try {
            File file = new File(archivo);

            if (file.exists()) {
                System.out.println("Il file " + filee + ": esiste");
            } else if (file.createNewFile()) {
                System.out.println("Il file " + filee + ": già caricato");
            } else {
                System.out.println("Il file " + filee + " :no si può caricare");
            }
            System.out.println("");

        } catch (IOException e) {
            System.out.println("error nella creazione");
        }
        try {

            System.out.println("el contenido del archivo es el siguiente: ");
            System.out.println("");
            BufferedReader leer = new BufferedReader(new FileReader(file));

            while ((s = leer.readLine()) != null) {
                System.out.println(s);
            }
            leer.close();
        } catch (IOException e) {
            System.out.println("error bufferReader");


        }
        try {
            System.out.println("");
            BufferedReader leer = new BufferedReader(new FileReader(filee));
            while ((s = leer.readLine()) != null) {
                f++;
                System.out.println("linea " + f + " = " + s.length() + " lettere");
            }
            leer.close();
        } catch (IOException e) {
            System.out.println("error bufferReader2");
        }
        System.out.println("");
        try {
            BufferedReader leer = new BufferedReader(new FileReader(filee));
            while((s = leer.readLine())!= null){  
      StringTokenizer st = new StringTokenizer(s);  
      while (st.hasMoreTokens()) { 
            String token=st.nextToken(); 
            if(token.length()>3){
            nuevotexto = token;
             System.out.println(mixpalablas(nuovotexto));               
            }}}
            leer.close();
        } catch (IOException e) {
            System.out.println("error bufferReader3");
         }  
    }}
non sono riuscito a usare il metodo shuffle suggerita allora ho creato una funzione che mi mescoli le lettere senza però riuscire a bloccare la prima l'ultima lettera e senza riuscire a togliere i punti e le virgole!! so che sono vicino alla soluzione però non so nuotare neanche dentro un bicchiere di acqua...avete suggerimenti da darmi??