Newsgroup: it.comp.java
Titolo: errori in compilazione - PRINCIPIANTE -

grazie in anticipo
Errori:
--------------------
C:\prova>javac ciccio.java
ciccio.java:22: missing return statement
static long LunghFile (File filename){
                                     ^
ciccio.java:36: missing return statement
public static String LettFile (File filename){
                                             ^
2 errors
--------------------------------
su questo programma:
import java.io.*;
class ciccio {
public static void ContrExFile (File filename){
	try{	
		boolean bol = filename.exists();
 
		if (bol){
			System.out.println("true");
		}else{
			System.out.println("false");
			System.exit(-1);
		}
	}catch (SecurityException ex) {
		System.out.println("Errore di sicurezza durante la verifica
dell'esistenza del file:\n\n "+ ex.getMessage());
		System.exit(-1);
	}
}
public static long LunghFile (File filename){
	try{
		long filesiz = 0;
		File filen = filename;	
 
		filesiz = filen.length();
		return filesiz;
	}catch (SecurityException ex) {
		System.out.println("Errore di sicurezza durante il calcolo della
lunghezza del file:\n\n " + ex.getMessage());
		System.exit(-1);
	}
}
public static String LettFile (File filename){
	try{
		String s = "";
		String LineaCorrente = "";
		//Creo un nuovo BufferReader br necessario per leggere il flusso delle
informazioni dentro il file
		BufferedReader br = new BufferedReader(new FileReader(filename));
 
		//Creo uno String Buffer per memorizzare le informazioni	
		StringBuffer sb = new StringBuffer();
		while ((LineaCorrente = br.readLine()) != null) {
			sb.append(LineaCorrente);
		}
		//Trasformo il buffer in Stringa
		s = sb.toString();
		//Chiudo il BufferReader
		br.close();
 
		return s;
	}catch (IOException ex) {
		System.out.println("Errore di tipo I/O durante la lettura del
file:\n\n "+ ex.getMessage());
		System.exit(-1);
	}
 
}
public static void ElimFile (File filename){
	try{
 
		filename.deleteOnExit();
 
	}catch (SecurityException ex) {
		System.out.println("Errore di sicurezza durante l'eliminazione del
file:\n\n "+ ex.getMessage());
		System.exit(-1);
	}
}
public static void main(String[] args) {
  try{
	long filesize = 0;
	String split = "";
	File file = new File(args[0].toString()); 
	String Name = file.getName();
	ContrExFile(file);
 
	filesize = LunghFile(file);
	split = LettFile(file);
	System.out.println(args[0]);
	System.out.println(file);
	System.out.println(filesize + "byte");
	System.out.println(split);
	ElimFile(file);
  }catch(NullPointerException ex){
  	System.out.println("Errore inserimento parametri: <percorso>");
  }catch(ArrayIndexOutOfBoundsException ex){
  	System.out.println("Errore inserimento parametri: <percorso>");
  }catch(Exception ex){
  	System.out.println("Errore: " + ex);
  }
 }//Main
}//Class
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 public static long LunghFile (File filename){


quando restituisci un dato devi coprire tutti i casi possibili il
compilatore
ti avverte di questo metti un return finale ad entrambe le funzioni

cosa dovrei fare allora,
se non posso fare un return delle funzioni?



return null

 se non posso fare un return delle funzioni?
sei orrido


nel catch!
Ma non capisco...
Io faccio già un System.exit, perchè ha bisogno anche di quello Java?


 wrote in message
news:bfd82a544940d4c206b...@mygate.mailgate.org


prova cosě:
public static long LunghFile (File filename){
  try{
    long filesiz = 0;
    File filen = filename;
     filesiz = filen.length();
  return filesiz;
  }catch (SecurityException ex) {
    System.out.println("Errore di sicurezza durante il calcolo della
    lunghezza del file:\n\n " + ex.getMessage());
    System.exit(-1);
 }
 // aggiunto da Ollimac
 return 0;
}

grazie


Ma perche' tutto cio'?
In genere si delega alla funzione chiamante la gestione delle eccezioni,
soprattutto se si scrivono delle classi che poi si intende riutilizzare.
E poi, perche' tutti metodi statici? Sarebbe meglio istanziare un oggetto
della classe e non utilizzare tutti quei metodi static.

 wrote in message
news:ardr4p$qjm$
1...@newsreader.mailgate.org

mi associo.


 > della classe e non utilizzare tutti quei metodi static.
-purtroppo non so come si fa


 wrote in message
news:cd7adcb811bc605f83f...@mygate.mailgate.org...


Che libro mi consigliate per imparare bene queste cose?
Perchè anche così non ho mica capito...


 wrote in message
news:894d88c9c44a2b4075d...@mygate.mailgate.org...


no,
intendevo libro cartaceo


 wrote in message
news:c84b1f56e389e8fd6f9...@mygate.mailgate.org...
