Torna indietro   Hardware Upgrade Forum > Software > Programmazione

AMD Advancing AI 2025: le nuove GPU per lintelligenza artificiale
AMD Advancing AI 2025: le nuove GPU per lintelligenza artificiale
La domanda di nuove soluzioni hardware per gestire le elaborazioni legate all'intelligenza artificiale sta diventando sempre più pressante: AMD annuncia nuove GPU della famiglia Instinct MI350, mostrando anche quelle che saranno le innovazioni previste nel 2026 per quanto riguarda GPU, CPU e networking nei datacenter. A collegare il tutto ROCm 7, anello di congiunzione tra le componenti hardware e il lavoro degli sviluppatori
Fujifilm X half: 'Ritorno al Futuro Analogico'
Fujifilm X half: 'Ritorno al Futuro Analogico'
Quest'anno Fujifilm ha messo sul piatto due delle fotocamere più discusse del 2025. Una l'abbiamo vista qualche tempo fa, è GFX100RF, ossia la medio formato compatta con ottica fissa. E l'altra è questa qui, è Fujifilm X Half che si pone all'altro estremo. È una fotocamera super compatta, sempre a ottica fissa, sempre con otturatore centrale, ma è in questo caso caratterizzata da un sensore verticale in formato da un pollice. La sua particolarità è la modalità 'pellicola' che non vi permette di vedere le foto scattate fino a che non avete sviluppato tutto il rullino virtuale. Ha senso questo Ritorno al Futuro Analogico?
Recensione Edge 60 Pro: la fascia medio-alta che ci piace
Recensione Edge 60 Pro: la fascia medio-alta che ci piace
Abbiamo provato il nuovo Motorola Edge 60 Pro, uno smartphone di fascia medio-alta che nel complesso ci ha convito. Ma vediamo quali sono i cambiamenti rispetto al predecessore, e quali sono i punti di forza e di debolezza. Vi diciamo tutto nella nostra recensione completa.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 05-08-2003, 14:03   #1
Icedguardian
Member
 
Iscritto dal: May 2003
Messaggi: 283
java e XML

Ho fatto un piccolo prog in java che legge un file XML
solo che:

SAX parser utilizzato e' validante
Parser e': org.apache.xerces.jaxp.SAXParserImpl@127734f

Inizio parsing del file degli accounts
AccountUtente{AccountSAXHandler.startDocument()}
AccountUtente{AccountSAXHandler.startElement()}: <accounts>
AccountUtente{AccountSAXHandler.startElement()}: <account>
AccountUtente{AccountSAXHandler.startElement()}: <utente>
AccountUtente{AccountSAXHandler.startElement()}: <login>
AccountUtente{AccountSAXHandler.endElement()}: </login>
AccountUtente{AccountSAXHandler.startElement()}: <password>
AccountUtente{AccountSAXHandler.endElement()}: </password>
AccountUtente{AccountSAXHandler.startElement()}: <nome>
AccountUtente{AccountSAXHandler.endElement()}: </nome>
AccountUtente{AccountSAXHandler.startElement()}: <cognome>
AccountUtente{AccountSAXHandler.endElement()}: </cognome>
AccountUtente{AccountSAXHandler.endElement()}: </utente>
AccountMail.setSSL: false
AccountMail.setDeleteMail: true
AccountUtente{AccountSAXHandler.startElement()}: <mailAccount>
AccountUtente{AccountSAXHandler.startElement()}: <mailHost>
AccountMail.setHost: popmail.libero.it
AccountUtente{AccountSAXHandler.endElement()}: </mailHost>
AccountUtente{AccountSAXHandler.startElement()}: <mailLogin>
AccountMail.setLogin: quellocheè
AccountUtente{AccountSAXHandler.endElement()}: </mailLogin>
AccountUtente{AccountSAXHandler.startElement()}: <mailPassword>
AccountMail.setPassword: quellochetipare
AccountUtente{AccountSAXHandler.endElement()}: </mailPassword>
java.lang.NullPointerException
at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:969)
at javax.xml.parsers.SAXParser.parse(SAXParser.java:345)
at javax.xml.parsers.SAXParser.parse(SAXParser.java:281)
at AccountUtente.newInstance(AccountUtente.java:70)
at ProvaAccounts.main(ProvaAccounts.java:22)

Fino a java.lang.NullPointerException sono msg che scrivo io per monitorare
quello che fa il prog.

Il file XML è:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE accounts SYSTEM "accounts.dtd">

<accounts>
<account accountID="a1">
<utente>
<login>elmir</login>
<password>pippo</password>
<nome>Elmir</nome>
<cognome>Muratovic</cognome>
</utente>
<mailAccount ssl="false" deleteMail="true">
<mailHost>popmail.libero.it</mailHost>
<mailLogin>quellocheè</mailLogin>
<mailPassword>quellochetipare</mailPassword>
</mailAccount>
</account>
</accounts>

Avete idea di quale potrebbe essere il problema.
Nella riga 70 di AccountUtente c'è soltanto il richiamo alla funzione di parsing del parser.
__________________
/***
* Nulla è impossibile per chi non deve farlo
***/
Icedguardian è offline   Rispondi citando il messaggio o parte di esso
Old 05-08-2003, 15:30   #2
kingv
Senior Member
 
L'Avatar di kingv
 
Iscritto dal: Jan 2001
Città: Milano
Messaggi: 5705
posta il codice del costruttore di AccountUtente.
kingv è offline   Rispondi citando il messaggio o parte di esso
Old 05-08-2003, 20:14   #3
Icedguardian
Member
 
Iscritto dal: May 2003
Messaggi: 283
/*
* AccountUtente.java
*
* Created on August 5, 2003, 10:52 AM
*/

/**
*
* @author elmir
*/

import java.util.LinkedList;
import org.xml.sax.helpers.DefaultHandler;
import org.xml.sax.Attributes;
import javax.xml.parsers.SAXParserFactory;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.ParserConfigurationException;
import org.xml.sax.SAXException;
import org.xml.sax.SAXParseException;
import java.io.File;
import java.io.IOException;

public class AccountUtente {

final static String INPUT_XML_FILE = "../xml/accounts.xml";
final static boolean DEBUG = true;

String login; //Login dell'utente
String password; //Password dell'utente
String nome; //Nome dell'utente
String cognome; //Cognome dell'utente
LinkedList accounts; //Gli account che l'utente possiede

AccountSAXHandler handler; //Handler utilizzato durante il parsing

/** Metodo che permette la creazione di AccountUtente ma soltanto se
la login e la password sono corrette (presenti nel file XML) */
static public AccountUtente newInstance(String l, String pass){

File xmlFile = new File(INPUT_XML_FILE);
SAXParserFactory spf = SAXParserFactory.newInstance();
SAXParser parser = null;
spf.setValidating(true);

AccountUtente account = new AccountUtente(l);

if(DEBUG)
System.out.println("SAX parser utilizzato " + (spf.isValidating() ? "e'" : "non e'") + " validante");

try{

parser = spf.newSAXParser();

if(DEBUG)
System.out.println("Parser e': " + parser);
}catch(SAXException se){

se.printStackTrace(System.out);
System.exit(1);
}catch(ParserConfigurationException pce){

pce.printStackTrace(System.out);
System.exit(1);
}

if(DEBUG)
System.out.println("\nInizio parsing del file degli accounts");

try{

parser.parse(xmlFile, account.handler);
}catch(IOException e){

e.printStackTrace(System.out);
System.exit(1);
}catch(SAXException e){

e.printStackTrace(System.out);
System.exit(1);
}

if(account.login.compareTo(l) == 0 && account.password.compareTo(pass) == 0)
return account;
else
return null;

}

/** Creates a new instance of AccountUtente */
AccountUtente(String l) {

login = "";
handler = new AccountSAXHandler(l);
}

/**
* Classe che risponde agli eventi del parser SAX per
* prelevare le informazioni rilevanti dal file XML.
*/
class AccountSAXHandler extends DefaultHandler {

String l; //Login dell'account da cercare
String buff; //Buffer utilizzato per prelevare il contenuto degli elementi
AccountMail amAux; //AccountMail ausiliario utilizzato durante la lettura dal file

public AccountSAXHandler(String log){

l = log;
}

public void startDocument(){

if(DEBUG)
System.out.println("AccountUtente{AccountSAXHandler.startDocument()}");
}

public void endDocument(){

if(DEBUG)
System.out.println("AccountUtente{AccountSAXHandler.endDocument()}");
}

public void startElement(String uri, String localName, String qName, Attributes attr){

buff = "";

if(qName.compareTo("mailAccount") == 0){

amAux = new AccountMail();

//Valore di "ssl"
if(attr.getValue("ssl").compareTo("true") == 0)
amAux.setSSL(true);
else
amAux.setSSL(false);

//Valore di "deleteMail"
if(attr.getValue("deleteMail").compareTo("true") == 0)
amAux.setDeleteMail(true);
else
amAux.setDeleteMail(false);
}

if(DEBUG)
System.out.println("AccountUtente{AccountSAXHandler.startElement()}: <" + qName + ">");
}

public void endElement(String uri, String localName, String qName){

if(qName.compareTo("login") == 0 && buff.compareTo(l) == 0) //

login = buff;
else if(qName.compareTo("password") == 0 && login.compareTo("") != 0){

password = buff;
}else if(qName.compareTo("nome") == 0 && login.compareTo("") != 0){

nome = buff;
}else if(qName.compareTo("cognome") == 0 && login.compareTo("") != 0){

cognome = buff;
}else if(qName.compareTo("mailHost") == 0 && login.compareTo("") != 0){

amAux.setHost(buff);
}else if(qName.compareTo("mailLogin") == 0 && login.compareTo("") != 0){

amAux.setLogin(buff);
}else if(qName.compareTo("mailPassword") == 0 && login.compareTo("") != 0){

amAux.setPassword(buff);
}else if(qName.compareTo("mailAccount") == 0 && login.compareTo("") != 0){

accounts.add(amAux);
}

if(DEBUG)
System.out.println("AccountUtente{AccountSAXHandler.endElement()}: </" + qName + ">");
}

public void characters(char[] ch, int start, int leng){

buff += new String(ch, start, leng);
}

public void warning(SAXParseException spe){

System.out.println("Warning alla linea " + spe.getLineNumber());
System.out.println(spe.getMessage());
}

public void fatalError(SAXParseException spe) throws SAXException{

System.out.println("FatalError alla linea " + spe.getLineNumber());
System.out.println(spe.getMessage());
throw spe;
}
}
}


------------------
Come si vede dal commento utilizzo un metodo statico per istanziare la classe e non il costruttore in modo da non istanziarla se non c'è l'account richiesto.

H E L P
__________________
/***
* Nulla è impossibile per chi non deve farlo
***/
Icedguardian è offline   Rispondi citando il messaggio o parte di esso
Old 06-08-2003, 09:01   #4
kingv
Senior Member
 
L'Avatar di kingv
 
Iscritto dal: Jan 2001
Città: Milano
Messaggi: 5705
a me funziona !

ho preso il tuo codice e tolto i riferimenti a classi che non avevo e cicla correttamente su tutto il file xml.
kingv è offline   Rispondi citando il messaggio o parte di esso
Old 06-08-2003, 09:05   #5
kingv
Senior Member
 
L'Avatar di kingv
 
Iscritto dal: Jan 2001
Città: Milano
Messaggi: 5705
sei sicuro che quando chiami:

Codice:
else if(qName.compareTo("mailHost") == 0 && login.compareTo("") != 0){

amAux.setHost(buff);
}else if(qName.compareTo("mailLogin") == 0 && login.compareTo("") != 0){

amAux.setLogin(buff);
}else if(qName.compareTo("mailPassword") == 0 && login.compareTo("") != 0){

amAux.setPassword(buff);
amAux sia istanziato??
kingv è offline   Rispondi citando il messaggio o parte di esso
Old 06-08-2003, 10:26   #6
Icedguardian
Member
 
Iscritto dal: May 2003
Messaggi: 283
Dovrebbe
adesso controllo, spero sia questo il prob.
__________________
/***
* Nulla è impossibile per chi non deve farlo
***/
Icedguardian è offline   Rispondi citando il messaggio o parte di esso
Old 06-08-2003, 11:26   #7
Icedguardian
Member
 
Iscritto dal: May 2003
Messaggi: 283
Scusate sono un idiota

Il problema era che non avevo creato la LinkedList quindi quando facevo l'add(amAux) lui giustamente si lamentava.

__________________
/***
* Nulla è impossibile per chi non deve farlo
***/
Icedguardian è offline   Rispondi citando il messaggio o parte di esso
Old 06-08-2003, 11:53   #8
kingv
Senior Member
 
L'Avatar di kingv
 
Iscritto dal: Jan 2001
Città: Milano
Messaggi: 5705
infatti il problema doveva essere in qualcuna delle righe che avevo commentato per compilare
kingv è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


AMD Advancing AI 2025: le nuove GPU per lintelligenza artificiale AMD Advancing AI 2025: le nuove GPU per lintelli...
Fujifilm X half: 'Ritorno al Futuro Analogico' Fujifilm X half: 'Ritorno al Futuro Analogico'
Recensione Edge 60 Pro: la fascia medio-alta che ci piace Recensione Edge 60 Pro: la fascia medio-alta che...
L'innovazione in Europa è a un bivio. Ne parliamo con Plug and Play L'innovazione in Europa è a un bivio. Ne ...
Test Stiga HT 300e Kit, tagliasiepi con doppia batteria per dire addio alla benzina Test Stiga HT 300e Kit, tagliasiepi con doppia b...
Da Metal Gear a Silent Hill Remake: tutt...
Ericsson e Google Cloud rendono la rete ...
Riepilogo di tutte le Offerte Amazon del...
Mostra fotografica e aperitivo? Non perd...
MindsEye: da GTA a un vero e proprio dis...
IonQ annuncia l'acquisizione di Oxford I...
OnePlus Pad 3: la recensione definitiva....
Prima guida con Renault 4: questa nuova ...
La Danimarca scarica Microsoft: Linux al...
Meta dichiara guerra alle app "nudi...
Servati, la startup che stampa in 3D le ...
WhatsApp, arriva l’IA che riassume i mes...
Guerra totale ai cheater di Fortnite: Ep...
Tony Hawk's Pro Skater 3+4: la demo che ...
Questo TV TCL 65'' QD-Mini LED è ...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 20:49.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www1v