1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110
| import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.io.FileWriter;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.util.StringTokenizer;
public class Recuperer {
String[] formules(String ligne) {
String[] a = null;
StringTokenizer st = new StringTokenizer(ligne);
if (st.countTokens() > 0) {
a = new String[st.countTokens()];
for (int i = 0; i < a.length; i++) {
a[i] = st.nextToken();
}
}
return a;
}
public String write(String contenu, String fichier) { // Fonction écrire
// dans un fichier
try {
FileWriter fw = new FileWriter(fichier);
BufferedWriter bw = new BufferedWriter(fw);
PrintWriter fichierSortie = new PrintWriter(bw);
fichierSortie.write(contenu);
//fichierSortie.flush();
fichierSortie.close();
bw.close();
} catch (Exception e) {
System.out.println(e.getMessage());
}
return contenu;
}
public String readFile(String fichier) { // Fonction lire dans un fichier
String chaine = "";
// lecture du fichier texte
try {
InputStream ips = new FileInputStream(fichier);
InputStreamReader ipsr = new InputStreamReader(ips);
BufferedReader br = new BufferedReader(ipsr);
String ligne;
int compteur = 0; // initialisation du compteur pour les lignes
// d'un fichier
StringBuffer sb = new StringBuffer();
while ((ligne = br.readLine()) != null) { // lecture ligne par
// ligne
String[] tab = formules(ligne);
//delete column 1 and val 1
tab = deleteColumnAndValeur(tab, 1);
if (tab != null) {
for (int i = 0; i < tab.length; i++) {
sb.append(tab[i]).append(" ");
}
sb.append("\n");
}
}
br.close();
write(sb.toString(),
"C:/form2.txt");// ...
} catch (Exception e) {
System.out.println(e.getMessage());
}
return chaine;
}
private String[] deleteColumnAndValeur(String[] tab, int numColumn) {
String[] res = null;
int indexCol = (numColumn - 1) * 2;
int indexVal = indexCol + 1;
if (tab != null && tab.length > 0) {
res = new String[tab.length - 2];
int j = 0;
for (int i = 0; i < tab.length; i++) {
if (i != indexCol && i != indexVal) {
res[j++] = tab[i];
}
}
}
return res;
}
public static void main(String[] args) {
Recuperer r = new Recuperer();
r.readFile("C:/form.txt");
}
} |