Ciao ragazzi,
torno a chiedere il vostro aiuto per un problema che stò incontrando con Java.
In pratica stò svolgendo un progetto e devo creare un metodo che legge un file e restituisce lo stesso file modificato.Il metodo funziona ma restituisce questo errore:
Exception in thread "main" java.lang.NullPointerException
at Proviamo.Stampiamo(Proviamo.java:34)
at Proviamo.main(Proviamo.java:19)
Ecco il codice:
public class Proviamo {
public static void main(String[] args) throws IOException {
File f= new File("C://Users//Elena//workspace//toolParser//Sequence.csv");
BufferedReader read= new BufferedReader(new FileReader(f));
Stampiamo(f);
read.close();
}
public static void Stampiamo(File f) throws IOException{
BufferedReader read= new BufferedReader(new FileReader(f));
FileOutputStream prova = new FileOutputStream("Sequence.csv");
PrintStream scrivi = new PrintStream(prova);
scrivi.println("Message,"+"TypeMessage,"+ "NameSender," +"TypeSender,"+"NameReceiver,"+"TypeReceiver,"+"Argument1,"+"Argument1_type");
try
{
while(true){
String s = read.readLine();
String [] splits = s.split("\\,");
if(splits.length==5){
System.out.println(splits[0]+","+splits[1]+","+splits[2]+","+splits[3]+","+splits[4]+","+" , , , ");
scrivi.println(splits[0]+","+splits[1]+","+splits[2]+","+splits[3]+","+splits[4]+",,," );
}
for(int vaf= 0;vaf<splits.length;vaf++)
if(splits.length==6){
System.out.println(splits[0]+","+splits[1]+","+splits[2]+","+splits[3]+","+splits[4]+","+splits[5]+","+" , ,");
scrivi.println(splits[0]+","+splits[1]+","+splits[2]+","+splits[3]+","+splits[4]+","+splits[5]+" , ,");
break;
}
if(splits.length==7){
System.out.println(splits[0]+","+splits[1]+","+splits[2]+","+splits[3]+","+splits[4]+","+splits[5]+splits[6]+","+" , ");
scrivi.println(splits[0]+","+splits[1]+","+splits[2]+","+splits[3]+","+splits[4]+","+splits[5]+splits[6]+" ,");
}
}
}
catch (IOException e)
{
System.out.println("Errore: " + e);
System.exit(1);
}
scrivi.close();
prova.close();
read.close();
}
}
Il metodo in sostanza legge il file e conta le parole per ogni riga,se le parole sono 8 ok,non fa nulla ma se sono meno di 8 aggiunge delle virgole .
Ecco il file csv:
Message,TypeMessage,NameSender,TypeSender,NameReceiver,TypeReceiver,Argument1,Argument1_type
AddCustomer,Call,User,user,System,System
Customer_Exsists,Call,System,System,System,System,OMOLOGATO
Read,Call,System,System,Customer
customer,Return,Customer,System,System
Customer_Exsists,Return,System,System,System,System
CustomerExsistsError,Call,System,System,User,user
CreateNewCustomer,Call,System,System,Customer,new_customer
Ack,Call,System,System,User,user
Grazie Elena