PDA

View Full Version : [JAVA] Problemi di compilazione con metodi System


Fast&Furious
12-10-2006, 20:51
ragazzi ho un problema con la classe System (package java.lang), ogni volta che scrivendo un file mi capita di dover sfruttare qualche metodo della suddetta classe mi compare errore in fase dim compliazione: Exception in thread "main" java.lang.NoClassDefFoundError: directory del file.java

Non sono riuscito a capire il problema, all'inizio pensavo che sbagliassi io qualcosa, dopo ho copiato ed incollato un file trovato in rete che usa molti (se non tutti) i metodi della classe System e, al contrario di come pensavo, non compila neanche questo:


public class Sistema
{
public static void main(String[] arg)
{
// Cambio lo standard output, uso il file Sistema.txt
File outFile=new File("Sistema.txt");
FileOutputStream fw;
try {fw=new FileOutputStream(outFile) ;}
catch (IOException e)
{fw=null;};

PrintStream Output=new PrintStream(fw);
System.setOut(Output);

// Scrivo sul nuovo standard output:
// Tempo:
long tempo=System.currentTimeMillis();
System.out.println("Tempo in millisecondi: "+tempo);
long t1=tempo/1000;
System.out.println("Tempo in secondi: "+t1);
long sec=t1%60;
long t3=t1/60;
long min=t3%60;
long t4=t3/60;
System.out.println("Tempo in ore h"+t4+" m"+min+" s"+sec);
System.out.println("nE' il tempo passato dal 1/1/1970 ad ora.n");
// Proprietà del sistema:
System.out.println("nProprieta' del sistema:n");
String tmp;
System.out.println("ntJAVAn");
tmp=System.getProperty("java.version ");
System.out.println("Versione dell'ambiente di Java Runtime: "+tmp);
tmp=System.getProperty("java.vendor");
System.out.println("Distributore dell'ambiente di Java Runtime: "+tmp);
tmp=System.getProperty("java.vendor.url");
System.out.println("URL del distributore di Java: "+tmp);
tmp=System.getProperty("java.home");
System.out.println("Directory dove e' installato Java: "+tmp);
tmp=System.getProperty("java.vm.specification.version");
System.out.println("Versione delle specifiche della Java Virtual Machine: "+tmp);
tmp=System.getProperty("java.vm.specification.vendor");
System.out.println("Distributore delle specifiche della Java Virtual Machine: "+tmp);
tmp=System.getProperty("java.vm.specification.name");
System.out.println("Nome delle specifiche della Java Virtual Machine: "+tmp);
tmp=System.getProperty("java.vm.version");
System.out.println("Versione della implementazione della Java Virtual Machine: "+tmp);
tmp=System.getProperty("java.vm.vendor" );
System.out.println("Distributore della implementazione della Java Virtual Machine: "+tmp);
tmp=System.getProperty("java.vm.name");
System.out.println("Nome della implementazione della Java Virtual Machine: "+tmp);
tmp=System.getProperty("java.specification.version");
System.out.println("Versione dell'ambiente di Java Runtime: "+tmp);
tmp=System.getProperty("java.specification.vendor");
System.out.println("Distributore dell'ambiente di Java Runtime Java Runtime: "+tmp);
tmp=System.getProperty("java.specification.name" );
System.out.println("Nome dell'ambiente di Java Runtime: "+tmp);
System.out.println("ntCLASSIn");
tmp=System.getProperty("java.class.version");
System.out.println("Versione delle classi di Java: "+tmp);

tmp=System.getProperty("java.class.path");
System.out.println("Pathname delle classi di Java: "+tmp);
System.out.println("ntSISTEMA OPERATIVOn");

tmp=System.getProperty("os.name");
System.out.println("Nome Sistema Operativo: "+tmp);

tmp=System.getProperty("os.arch");
System.out.println("Architettura del Sistema Operativo: "+tmp);

tmp=System.getProperty("os.version");
System.out.println("Versione del sistema Operativo: "+tmp);
tmp=System.getProperty("file.separator");
System.out.println("Separatore di File: "+tmp);

tmp=System.getProperty("path.separator");
System.out.println("Separatore di Pathname: "+tmp);

tmp=System.getProperty("line.separator");
System.out.println("New Line: "+tmp);
System.out.println("ntUTENTEn");
tmp=System.getProperty("user.name");
System.out.println("Account name dell'utente: "+tmp);
tmp=System.getProperty("user.home");
System.out.println("Home directory dell'utente: "+tmp);
tmp=System.getProperty("user.dir");
System.out.println("Working directory dell'utente: "+tmp);

}
}




il problema si è presentato quando sul pc di un amico abbiam dovuto usare un metodo della classe System e abbiamo notato che a lui non compilava, dopo ho notato che anche sul mio pc ho lo stesso errore.






Da cosa può dipendere?

Grazie

andbin
12-10-2006, 21:01
Intanto inizia a mettere: import java.io.*; ;)

Andrea16v
12-10-2006, 21:44
A me compila correttamente, probabilmente ti sei perso per strada l'enunciato di import portando il sorgente da un pc all'altro... :D

Fast&Furious
12-10-2006, 22:37
ragazzi qui il problema persiste, ho provato ad inserire import java.io.*; ma niente :muro:

il codice attuale è il seguente


import java.io.*;
public Prec
{
public static void main(String[] args)
{
String key1;
key1=System.getProperty("os.arch");
System.out.println (key1);
}
}


qualche suggerimento? :rolleyes:

Andrea16v
13-10-2006, 00:12
...e questo programma da dove salta fuori?

Sembra un codice per visualizzare l'architettura del processore, però sbagliato, manca la dichiarazione di classe, al posto di "public Prec" mettici "public class Prec", poi compila ed esegui, ti deve restituire a schermo l'architettura del processore, per esempio "x86" :)

Fast&Furious
13-10-2006, 00:21
ok, risolto, funziona...

Grazie 1000