|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Feb 2002
Messaggi: 906
|
java (scrivere file)
con jbuilder8 in console perchè questo listato mi da errori??
import java.lang.*; // predefinita import java.io.*; class ScriviFile { try { File file = new File("filename"); // Create file if it does not exist boolean success = file.createNewFile(); if (success) { // File did not exist and was created } else { // File already exists } } catch (IOException e) { } } ------------------ sul web l'ho trovato così in origine try { File file = new File("filename"); // Create file if it does not exist boolean success = file.createNewFile(); if (success) { // File did not exist and was created } else { // File already exists } } catch (IOException e) { } ciao |
![]() |
![]() |
![]() |
#2 |
Bannato
Iscritto dal: Nov 2001
Città: Verona
Messaggi: 1086
|
Per farla molto breve, il corpo di una classe accetta dichiarazioni di campi (eventualmente con inizializzazione) dichiarazioni di metodi, blocchi di inizializzazione statici e non statici e stop. Non puoi metterci "direttamente" un blocco try-catch.
Per risolvere, è sufficiente dotare la tua classe di un metodo che contenga quello che hai scritto: Codice PHP:
Codice PHP:
Ciao. |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Feb 2002
Messaggi: 906
|
okay risolto grazie
ora guarda questo import java.lang.*; // predefinita import java.io.*; queste sono le prime 2 righe del programma ora se mi porto nella directory c:\programmi\jbuilder\jdk1.4\bin e digito: javac ScriviFile.java .....funziona e mi crea ScriviFile.class ...poi digito java ScriviFile .... e mi crea il file filename.txt ....... è tutto OK PERO' vorrei usare un file batch e allora ho fatto così: nel file batch denominato t.bat ho scritto: @echo off c:\programmi\jbuilder\jdk1.4\bin\javac d:\programmi\myproj~1\jbuilder\console\scrivifile\ScriviFile.java ....... e funziona creandomi il file ScriviFile.class poi ne ho creato un altro per lanciarlo da batch così: nel file batch denominato r.bat ho scritto: @echo off c:\programmi\jbuilder\jdk1.4\bin\java d:\programmi\myproj~1\jbuilder\console\scrivifile\ScriviFile ...... mi dà questo errore: Exception in hread "main" Java.lang.NoClassDefFoundError perchè??????????????? grazie |
![]() |
![]() |
![]() |
#4 |
Bannato
Iscritto dal: Nov 2001
Città: Verona
Messaggi: 1086
|
Non ne sono sicuro. A differenza di javac.exe java.exe interpreta i separatori di directory come definizione di package, però dovrebbe usare la barra a destra (/) e non quella sinistra (\).
In ogni caso, il problema dovrebbe risolversi facilmente riccorendo al classpath: @echo off c:\programmi\jbuilder\jdk1.4\bin\java -cp .;d:\programmi\myproject1\jbuilder\console\scrivifile ScriviFile Ciao |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Feb 2002
Messaggi: 906
|
PGI............. sei un grande!!!!!!!!
non era facile............ PGI penso che questo era utile a molti!!!!!!!! x cionci, PGI è troppo forte ciao mio amico cionci (sto imparando java) |
![]() |
![]() |
![]() |
#6 | |
Senior Member
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
|
Quote:
Codice:
java mio_package.MyClass |
|
![]() |
![]() |
![]() |
#7 | |
Bannato
Iscritto dal: Nov 2001
Città: Verona
Messaggi: 1086
|
Quote:
ad es. java package.Classe diventa java package/Classe Ed in effetti scrivendo direttamente java package/Classe tutto funziona come se nulla fosse cambiato. Saputo questo, l'abilità di un programmatore Java aumenta di un ricco 0.000001% ![]() |
|
![]() |
![]() |
![]() |
#8 |
Senior Member
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
|
Ma / è in Linux,Unix \\ in Windows...comè'è che / funziona il Windows??
|
![]() |
![]() |
![]() |
#9 |
Bannato
Iscritto dal: Nov 2001
Città: Verona
Messaggi: 1086
|
Prendi quello che ti dico con delle pinze lunghe un kilometro, perchè non trovo più le 3 righe nella documentazione in cui l'avevo letto (tempo e fantasia fanno il resto), ma nel caricamento di una classe la barra / non è da intendersi come il simbolo Unix ma come simbolo Java che viene usato per le directory. Solo dopo aver pescato il simbolo Java questo viene tradotto nel corrispondente separatore del sistema operativo. Questo spiega perchè la linea:
java it/boo/MainClass (== it.boo.MainClass) funziona sia in Windows che Unix, mentre java it\boo\MainClass dà un errore anche sotto Windows |
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
|
Mi soddisfa!
![]() |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 16:11.