Buongiorno a tutti,
Premessa: vorrei leggere un file di testo (es testo1.txt) contenente una serie di righe e salvare su un altro file (es. testo2.txt) solo alcune righe e alcune colonne del primo file.
file di input: file1.txt è cosi composto:
**************** file elaborato con successo *******************
codice1 q.ta data q.ta2 p.zzo p.zzo2 codice2
0116543 3 01/10/98 - 0 0,00 0,00 901165439
0116528 0 10/12/99 - 0 0,00 0,00 901165288
0983839 0 19/01/04 - 0 5,00 0,00 909838397
0226611 0 07/06/02 - 0 0,00 0,00 902266117
0896087 2 - - 0 5,00 0,00 908960875
4896083 0 29/11/99 - 0 0,00 0,00 808960836
0896053 2 - - 0 5,00 0,00 908960533
0939155 1 27/02/01 - 0 5,00 0,00 909391551
3613833 0 16/01/01 - 0 0,00 0,00 906138336
0930141 3 06/02/03 - 0 5,00 0,00 209301412
0930138 4 - - 0 0,00 0,00 909301386
0973497 4 04/10/96 - 0 0,00 0,00 909734978
**********************************************************************************
file di output: file2.txt vorrei fosse composto solo da:
0116543 3 01/10/98 - 0 0,00 0,00 901165439
0116528 0 10/12/99 - 0 0,00 0,00 901165288
0983839 0 19/01/04 - 0 5,00 0,00 909838397
0226611 0 07/06/02 - 0 0,00 0,00 902266117
0896087 2 - - 0 5,00 0,00 908960875
4896083 0 29/11/99 - 0 0,00 0,00 808960836
0896053 2 - - 0 5,00 0,00 908960533
0939155 1 27/02/01 - 0 5,00 0,00 909391551
3613833 0 16/01/01 - 0 0,00 0,00 906138336
0930141 3 06/02/03 - 0 5,00 0,00 209301412
0930138 4 - - 0 0,00 0,00 909301386
0973497 4 04/10/96 - 0 0,00 0,00 909734978
senza intestazioni, asterischi, righe vuote presenti nel file1.
Il codice che ho utilizzato è il seguente:
***************************************************************************************************************
Import...ecc ecc
....
..
.
public static void main.....ecc ecc{
String path = "c:\\file1.txt;
String pathOut = "c:\\file2.txt";
File fileIn = new File(path);
File fileOut = new File(pathOut);
try{
FileReader fr = new FileReader(fileIn);
BufferedReader br = new BufferedReader(fr);
FileWriter fw = new FileWriter(fileOut);
BufferedWriter bw = new BufferedWriter(fw);
while(br.readLine() != null){
//Ho provato ad utilizzare StartWith ma non mi funziona bene...inoltre non vorrei selezionare
//solo le righe che iniziano per 0 ma tutte quelle che in posizione uno iniziano con un numero.
if(br.readLine().startsWith(" 0")) {
bw.write(br.readLine().substring(1,67);
}
}
br.close();
bw.close();
}
catch (Exception e){
e.printStackTrace();
}
...
..
.
Qualcuno potrebbe aiutarmi per favore?