Newsgroup: it.comp.java
Titolo: Caratteri spaeciali tra xml e java

Ciao a tutti ho bisogno di sapere perchè ho questo errore.
Ho un file xml con questi dati:
<?xml version="1.0" encoding="UTF-8"?>
<PRICELIST>
<PUBLICATION_PRICELIST>
             <CODE_PRICELIST>620/V</CODE_PRICELIST>
             <DESCRIPTION>LECLERK BOLOGNA/MODENA</DESCRIPTION>
             <DATE_LAST_UPDATE>2005/01/01 00:00:00</DATE_LAST_UPDATE>
        </PUBLICATION_PRICELIST>
        <PUBLICATION_PRICELIST>
             <CODE_PRICELIST>620/T</CODE_PRICELIST>
             <DESCRIPTION>CONAD DEL TIRRENO</DESCRIPTION>
             <DATE_LAST_UPDATE>2005/01/01 00:00:00</DATE_LAST_UPDATE>
        </PUBLICATION_PRICELIST>
        <PUBLICATION_PRICELIST>
             <CODE_PRICELIST>786</CODE_PRICELIST>
             <DESCRIPTION>SUPERMERCATO QUADRIFOGLIO - CCD</DESCRIPTION>
             <DATE_LAST_UPDATE>2005/01/01 00:00:00</DATE_LAST_UPDATE>
        </PUBLICATION_PRICELIST>
</PRICELIST>
Dovrei esportare i dati da un database in base al relativo tag
CODE_PRICELIST e scrivere tutto in un file con il codice del listino
per esempio Listino_620/T ma mi dà questo errore:
java.io.FileNotFoundException: Publication_priceList\Listino_620\T.xml
(Impossibile trovare il percorso specificato)
	at java.io.FileOutputStream.open(Native Method)
	at java.io.FileOutputStream.<init>(FileOutputStream.java:179)
	at java.io.FileOutputStream.<init>(FileOutputStream.java:131)
	at java.io.FileWriter.<init>(FileWriter.java:73)
	at EXPriceListTester.main(EXPriceListTester.java:51)
Exception in thread "main"
In pratica legge \ al posto di questo pensandolo come una directory. Ci
sono caratteri speciali affinchè java comprenda che sia uno /
piuttosto che \.
Grazie a chi mi può rispondere.

 writes:
a> Ciao a tutti ho bisogno di sapere perchè ho questo errore.  Ho un
a> file xml con questi dati:
Non importa il contenuto.
a> CODE_PRICELIST e scrivere tutto in un file con il codice del
a> listino per esempio Listino_620/T ma mi dà questo errore:
Cambia il nome  al file, usa un hyphen al posto  dello slash.  Java ci
prova a mediare tra sistemi  operativi tonti (che usano \ per separare
le  directory,  discendendo da  un  sistema  operativo  fascista e  da
dinosauri) e  furbi (che  usano /), solo  che questo  porta problemini
quando la stringa è path di un file.
-- 
 /\            ___
/___/\__|_|\_|__|___Gian Uberto Lauri_____________________
  //--\ | | \|  |   Integralista GNUslamico  
\/		    e allevatore di bug da competizione

 quando la stringa è path di un file.
per questo esiste File.separatorChar che utilizza in automatico il 
simbolo del SO in cui viene lanciata la classe.

 writes:
M> per questo esiste File.separatorChar che utilizza in automatico il
M> simbolo del SO in cui viene lanciata la classe.
Si, ma quando il carattere è nel nome del file fisico... 
Ho visto  java accettare  lo slash sotto  Windows (usato  peraltro con
poco ordine dai programmatori) invece  di fare il cattivo e mandarti a
quel paese.
Rimangono  comunque  convenzioni  torde  che  vengono  da  sistemi  da
dinosauri e fascisti (VMS) e convenzioni che vengono da sistemi furbi.


 dinosauri)
?
ma perche'?
Saluti
CarMas

> discendendo da un sistema operativo fascista e da dinosauri)
C> ?  ma perche'?
VMS, da  cui deriva poi  NT, era fascista (cercare  sull'hacker jargon
file il significato) e da dinosauri (mai visto un VAX 11/780 da vicino
?).  Inoltre  hanno un  approccio al trattamento  dei file  molto poco
furbo per il quale è l'uomo a dover guidare passo passo la macchina in
operazioni tediose invece che  demandarle il lavoro attraverso un atto
creativo (da cui tonti).
In  VMS / era  usato per  far iniziare  le opzioni  dei comandi  e chi
scrisse il  primo 
command.com
 prese  la medesima convenzione  anche se
qualcosina cominciò a prenderlo da sistemi più furbi. 
Purtroppo cmd.exe mantenne le (cattive) abitudini di 
command.com


 file il significato) 
Continuo a non capire la tua affermazione e non ho tempo ne' voglia di 
mettermi a cercare sul jargon.
Imho basterebbe far notare che il SO non accetta caratteri \ e / nel 
nome del file, da cui l'esigenza di cambiarne il nome. Punto. Le 
considerazioni su tutto il resto sono tue personali e non credo servano 
a risolvere il problema di chi ha aperto il thread :|
Saluti
CarMas