|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jul 2010
Città: Teramo
Messaggi: 1298
|
Rubrica in Java
Ciao,
come consigliato da un utente su questo forum sto facendo una rubrica che legga, scriva i dati immessi su un file. Io ero sbituato ai file di testo e solo ora ho scoperto la differenza tra un ifle strutturato e un file di testo, il problema però è nel programma come definire questa struttura. Partiamo dal problema numero 1 : quando definisco il file per l'output mi dice questo Codice:
unreported exception java.io.notfoundexception ; must be caught or declared in to be thrown Codice:
import java.io.*;
import java.lang.*;
import java.text.*;
import java.util.*;
/**
*
* @author Administrator
*/
public class RubricForm extends javax.swing.JFrame
{
/**
* Creates new form RubricForm
*/
public RubricForm()
{
initComponents();
}
Rubric R1,R2 = new Rubric();
FileOutputStream f = new FileOutputStream("Rubric.dat");
ObjectOutputStream fOUT = new ObjectOutputStream(f);
Ho fatto una classe Rubric.java dove ci sono i metodi per restituire e permettere la modifica dei valori e ho fatto un pulsante che mi crea l'oggetto con i valori presi da textfield, una volta creato l'oggetto dovrei scrivere il contenuto in un file. Questo in C# l'ho fatto una volta sola quindi non sono così pratico, anche perchè non riuscì a fare la formattazione come volevo io, magari era una cavolata però non ci sono riuscito. Ora non so neanche come l'ha integrata la classe perchè nel codice non vedo nulla del genere, comunque sia funziona perchè in un altra textfield ho riportato il contenuto dell'oggetto creato. La classe che ho fatto dove dovrebbe essere inclusa ? L'oggetto l'ho creato ma non trovo il codice che integra la classe ( neanche in C# dovevo farlo se non ricordo male ), ho visto che è tutto nella cartella " src ", include tutto quello che è al suo interno nel progetto ? Al lato sinistro è presente nel " Default Package ", credo includa tutto come C#. Dubbio veramente banale ma voglio capire come agisce questo IDE per non lasciarmi sfuggire di mano le cose fondamentali, fa che poi devo sbattere la testa per questi problemini Mi è stato chiesto di farlo con le liste e code ma io non so neanche cosa sono, per il momento faccio così e poi vedo di documentarmi su questo, ho del materiale da Wikipedia che sembrerebbe essere fatto bene e da un libro anch'esso altrettanto, mi serve tempo però. P.S. Sto usando NetBeans 7.1.2 |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2006
Messaggi: 22462
|
buona parte delle eccezioni in java sono checked e vanno catturate per forza con un blocco try catch oppure con un throw nell'intestazione del metodo
__________________
amd a64x2 4400+ sk939;asus a8n-sli; 2x1gb ddr400; x850 crossfire; 2 x western digital abys 320gb|| asus g1
Se striscia fulmina, se svolazza l'ammazza |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Apr 2006
Messaggi: 22462
|
mi riferisco al fatto che il costruttore di FileOutputStream dichiara di poter lanciare l'estensione di file non trovato e tela devi gestire indipendentemente dal fatto che questa accadrà o meno.
ps: comunque, se conosci meglio il c#, non sentirti obbligato a cercare subito il java: per esperienza ti posso dire che (strettamente al linguaggio) imparato uno, bene o male si sanno tutti quelli che adoperano il medesimo paradigma. La cosa difficile è la libreria standard, ma per imparare e imperativo non usarla.
__________________
amd a64x2 4400+ sk939;asus a8n-sli; 2x1gb ddr400; x850 crossfire; 2 x western digital abys 320gb|| asus g1
Se striscia fulmina, se svolazza l'ammazza |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Jul 2010
Città: Teramo
Messaggi: 1298
|
In un altra discussione ho detto che non volevo più continuare C#, come hai detto tu è la medesina cosa poi ma lo faccio per altri motivi ...
Alcuni esempi li ho visti ma non sempre ricorrono alla gestione delle eccezioni, facendole non saprei come fare e non riesco a capire quello che hai detto ... Scusa ma ho iniziato Java poco tempo fa, diciamo solo teoria che ho sentito molte volte, con i File strutturati ci approdo adesso perchè ero abituato ai file di testo, anche se credo il problema me lo farò pure la . |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Jul 2010
Città: Teramo
Messaggi: 1298
|
Mi sono imbattuto in un errore solito degli IDE, mi compila un form vecchio, vabbè a parte questo mi sono preso questo codice dal mio libro, controllare un eccezione intendevi una cosa del genere ?
Non capisco questa necessità anche se credo con i file di testo lo feci anch'io, però qui mi vedo molti errori dal compilatore, se devo zippare il file lo metto quì e gli date un occhiata, anche perchè compilando sempre lo stesso form non posso andare più di tanto avanti . Codice:
try
{
FileOutputStream f = new FileOutputStream("Rubric.dat");
ObjectOutputStream fOUT = new ObjectOutputStream(f);
fOUT.writeObject(R1);
fOUT.fflush();
f.close();
}
catch(Exception e)
{
JOptionPane.showMessageDialog(null, " Prova file " );
}
|
|
|
|
|
|
#8 |
|
Member
Iscritto dal: Mar 2010
Messaggi: 60
|
Ti consiglio di utilizzare una ObjectOutputStream.
Codice:
ObjectOutputStream oos = new ObjectOutputStream (new FileOutputStream("rubrica.dat"));
|
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Apr 2010
Città: Leuven
Messaggi: 667
|
Ma forse prima di scrivere su file non era meglio strutturare le classi che fanno da modello per i contatti della rubrica (oltre alla classe "Rubrica") che fa da contenitore?
__________________
L'elettronica digitale non esiste, è solo elettrotecnica con interruttori piccoli!
|
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Apr 2010
Città: Leuven
Messaggi: 667
|
Se hai pazienza di aspettare stasera ti posto un po'di materiale, cosi' ti do qualche dritta. Diamo una mano a questo giovane volenteroso!
__________________
L'elettronica digitale non esiste, è solo elettrotecnica con interruttori piccoli!
|
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: Jul 2010
Città: Teramo
Messaggi: 1298
|
Grazie, li leggerò con molto piacere
Comunque non ho capito cosa intendi per le altre classi. Se non l'ho scritto prima, io non ho mai gestito file, file di testo si ma in C++, in C# ho dovuto ricorrere alla copia di molti esempi per arrivare a farlo, ma mai file strutturati, l'ho scoperta grazie a te questa cosa Tornando alle classi, non ho capito quali dovrebbero essere le altre classi o che ruolo dovrebbero svolgere, cioè " strutturare le classi che fanno da modello per i contatti della rubrica ", so che i ifle hanno una struttura definita ed è questo che vorrei sapere come fare, da come hai detto sembrerebbe che dovrei creare delle classi subordinate per ogni oggetto della classe principale e specificarne la struttura, caratteristiche etc. Questo è quello che ho interpretato |
|
|
|
|
|
#12 |
|
Senior Member
Iscritto dal: Apr 2010
Città: Leuven
Messaggi: 667
|
Questo è perché ti sei fissato a pensare al file prima di studiare la teoria!
Ti servono almeno: 1) La classe Contatto 2) La classe Rubrica 3) La classe ListaConcatenata 4) La classe AlberoBinario (per le 2 implementazioni che ti suggerivo) 5) Una classe GestioneIO per scrivere e leggere su file (o eventuali sorgenti alternative) 6) Una classe che contiene il main! http://it.wikipedia.org/wiki/Program...a_agli_oggetti Comincia a leggerti questo articolo che è fatto bene, poi passa a: http://oldsite.to.infn.it/groups/gro...-9.30.144.html Anche io sto scrivendo una cosa che ti mando appena ho finito. PS Ieri sera c'era festa e sono uscito perciò non ho postato nulla, cerco di rimediare oggi.
__________________
L'elettronica digitale non esiste, è solo elettrotecnica con interruttori piccoli!
|
|
|
|
|
|
#13 |
|
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Questa risorsa, se si ha la pazienza di sfruttarla tutta per bene, potrebbe essere molto utile a Squall 94:
http://www.itmaybeahack.com/homepage.../oodesign.html
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
|
|
|
|
|
#14 |
|
Senior Member
Iscritto dal: Apr 2010
Città: Leuven
Messaggi: 667
|
Bel link banryu! Hai fatto centro!
__________________
L'elettronica digitale non esiste, è solo elettrotecnica con interruttori piccoli!
|
|
|
|
|
|
#15 | |
|
Senior Member
Iscritto dal: Aug 2008
Città: Firenze
Messaggi: 317
|
Quote:
|
|
|
|
|
|
|
#16 |
|
Senior Member
Iscritto dal: Jul 2010
Città: Teramo
Messaggi: 1298
|
infagrim la prima parte su wikipedia l'ho letta da diversi libri oltre che proprio in wikipedia, non avevo proprio compreso quello che mi avevi detto .
La seconda si c'è qualcosa di nuovo, allora dammi tempo di leggere e poi ne riparliamo. L'albero e le liste concatenate me le sono stampate dai link che mi passasti e li devo ancora leggere, a questo però ci penso dopo, per il momento fammi finire il quadro delle classi perchè comunque c'è poco che non so nel secondo link. Nel terzo invece quello dell'altro utente mamma mia, ci sono tantissimi esercizi con cui sbattere a testa, buono buono Ah una cosa, visto che non mi compila il form nuovo su cui lavoro ( ne compila uno vecchio ), come posso risolvere il problema ? Anche in C# mi succedeva ...
__________________
Acquisti conclusi egregiamente con : TH4N4TOS --- Ramius83ITA Venduto a : Baio77 --- tonymax --- kris89 --- steee Ultima modifica di Squall 94 : 27-06-2012 alle 19:50. |
|
|
|
|
|
#17 |
|
Senior Member
Iscritto dal: Apr 2010
Città: Leuven
Messaggi: 667
|
Ma a questo punto perche' non citare questo?
http://www.greenteapress.com/thinkap...hinkapjava.pdf Spiega bene l'errore e ti veniamo in aiuto. Comunque prima di mettere form e finestre usa la console, alle gui ci penserai in seguito.
__________________
L'elettronica digitale non esiste, è solo elettrotecnica con interruttori piccoli!
|
|
|
|
|
|
#18 |
|
Senior Member
Iscritto dal: Jul 2010
Città: Teramo
Messaggi: 1298
|
Mi stai chiedendo di studiare troppo adesso
Comunque va bene ma un po' di teoria ce l'ho su un libro cartaceo, tratta però file di testo e non file strutturati, dice solamente la differenza tra questi due . Tutta sta roba ci metterò molto per leggerla, nel fine settimana posso finire le liste e le code e durante la settimana sperimentare in esercizi, ma quali ? Provo ad applicare tutto su questo programmino, vediamo ... L'ultima cosa che mi hai postato visto che è in inglese e mi può far perdere tempo usando google translate per qualche termine, direi che ci metterò molto, non è per adesso . Fammi risolvere liste, code, alberi etc ... Spero di comprenderle al volo |
|
|
|
|
|
#19 |
|
Senior Member
Iscritto dal: Jul 2010
Città: Teramo
Messaggi: 1298
|
Ah poi era una battuta ? Dovrei leggere tutto quel libro per risolvere il problema
Si ho capito mi mancano un po' di basi però cavolo mi hai dato bel lavoro da svolgere, cerco di farcela entro il prossimo mese, almeno per capire bene liste, code e quelle cose li . |
|
|
|
|
|
#20 |
|
Senior Member
Iscritto dal: Apr 2006
Messaggi: 22462
|
in realtò (almeno come l'ho interpretata io) era metà e metà. Non è che ti serve tutto quel libro per risolvere l'esercizio, ma per imparare a programmare potresti fare con quel testo senza altro
__________________
amd a64x2 4400+ sk939;asus a8n-sli; 2x1gb ddr400; x850 crossfire; 2 x western digital abys 320gb|| asus g1
Se striscia fulmina, se svolazza l'ammazza |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 22:53.




















