public void sauver(File f) {
		try {
			OutputStreamWriter destination = new OutputStreamWriter(new FileOutputStream(f));
			
			destination.write(Integer.toString(n));
			destination.write(';');
			destination.write(Integer.toString(dim));
			destination.write(';');
			destination.write(Integer.toString(nbClasses));
			destination.write('\n');
			
			int k = OutilsMatriciels.exposant(nbClasses);
			double[][] M = ecm.getM();

			for(int i = 0; i < n; i++){
				for(int j = 0; j < dim; j++){
					destination.write(Double.toString(points[i][j]));
					if(j != dim - 1) destination.write(';');
					else destination.write('\n');
				}
			}
			destination.write('\n');
			
			for(int i = 0; i < n; i++){
				for(int j = 0; j < k; j++){
					destination.write(Double.toString(M[i][j]));
					if(j != k - 1) destination.write(';');
					else destination.write('\n');
				}
			}
			destination.close();
			
		} catch (FileNotFoundException exception) {
			JOptionPane.showMessageDialog(fenetre,	"Fichier introuvable.","Erreur",JOptionPane.ERROR_MESSAGE);
			exception.printStackTrace();
		}
		 catch (IOException exception) {
			JOptionPane.showMessageDialog(fenetre,	"Impossible d'ouvrir ce fichier. Ce fichier est problablement utilise par une autre application.","Erreur",JOptionPane.ERROR_MESSAGE);
			exception.printStackTrace();
		}
	}