Newsgroup: it.comp.java
Titolo: Disperato!!!!!!!...........caricare immagine

ciao a tutti.........la mia applicazione si va ad installare in una
cartella 'applicazione'.
in questa cartella ci sono:
1-miaapp.exe;
2-miaapp.jar;
3-cartellaImmagini;
4-cartellaDocStampe;
5-cartellaGuidaApplicazione(JavaHelp);
......
.....eccc..
Il problema è che non riesco a caricare delle immagini che il
programma deve salvare nella cartellaImmagini.Questo è un pezzo di
codice ovviamente da uno dei file che si trovano in miaapp.jar :
             JFileChooser selezionaFile=new JFileChooser();
             int azione=selezionaFile.showOpenDialog(JFrameprincipale);
             if(azione==JFileChooser.APPROVE_OPTION) {
	    try {
		 FileInputStream fis=new
FileInputStream(selezionaFile.getSelectedFile());
	     String nomeImmagine=String.valueOf(ID);
	     File newCopy=new File(".\\immagini\\"+nomeImmagine+".gif");
	     FileOutputStream fos=new FileOutputStream(newCopy);
	     BufferedInputStream bis= new BufferedInputStream(fis);
	     BufferedOutputStream bos= new BufferedOutputStream(fos);
	     int i=0;
	     while ((i=bis.read())!=-1) {
	      bos.write(i);
	      bos.flush();
	     }
	     bos.close();
	     bis.close();
	     } catch(java.io.FileNotFoundException fnf) {
	        JOptionPane.showMessageDialog(null,"nome file non valido! ");
	       }
               }
               else {
                 // altre istruzioni...................
               }
........ho provato a dichiarare il File newCopy=new
File("..\\immagini\\"+nomeImmagine+".gif");
oppure File newCopy=new File("..\\..\\immagini\\"+nomeImmagine+".gif");
ma non funziona lo stesso........eppure facendolo partire solo dal jar
in una cartella con dentro gli altri pacchetti tipo quello delle
immagini va tutto bene.Perchè invece se creo l'exe non capisce il path
delle immagini?Ovviamente lo devo calcolare..non posso scriverci
"C:\\Documents........ecc..ecc.......dimenticavo per questo problema
non trova nemmeno i file di testo per le stampe........suggeritemi
qualcosa per favore...vi ringrazio anticipatamente......è la mia prima
applicazione!....ciao!

 	     File newCopy=new File(".\\immagini\\"+nomeImmagine+".gif");
ma perche' non usi il/i metodo/i del JFileChooser getSelectedFile()
getCurrentDirectory() ?
Ti danno direttamente il file (con path) da dare in pasto allo Stream.
Ciao Jack

scusate..forse non mi sono spiegato bene......il File newCopy che è
praticamente la copia del File che ricavo dal JFileChooser.....lo devo
salvare in una cartella Immagini che sitrova allo stesso livello del
mio .jar..............non ci riesco!
------cartellaProgramma(che contiene gli elementi sotto)
                |
                |
                |
                |-----------file.jar
                |
                |
                |-----------cartellaImmagini
                |
                |
                |-----------cartellaReports
se gli dico File newCopy=new
File(".\\cartellaImmagini\\nuovaImmagine.gif");
non lo trova o non trova il percorso.........ho provato con:
File newCopy=new File("..\\cartellaImmagini\\nuovaImmagine.gif");
File newCopy=new File("..\\..\\cartellaImmagini\\nuovaImmagine.gif");
.......ma niente.......ditemi dov'è l'errore..ciao!

Dai un'occhiata a questo codice:
Per copiare un generico file selezionato dal JFileChoser, che perņ non sia 
gią contenuto nella cartella immaginiQuadri, nella cartella 
images/immaginiQuadri
String foto=fc.getSelectedFile().getPath();
String cartella= fc.getCurrentDirectory().toString();
cartella= cartella.substring(cartella.lastIndexOf("\\")+1);
if (!cartella.equals("immaginiQuadri")) 
framePrincipale.CopiaFile(foto,"images/immaginiQuadri/");
dove CopiaFile č :
public static void CopiaFile (String sPathIn, String sPathFolder) {
     try {
        File source=new File(sPathIn);
         File dest=new File(sPathFolder,source.getName ());
        dest.createNewFile();
        FileInputStream in = new FileInputStream(source);
        FileOutputStream out = new FileOutputStream(dest);
        int c;
        while ((c = in.read()) != -1) {
           out.write(c);
        }
        in.close();
        out.close();
        } catch(Exception ex) {
        JOptionPane.showMessageDialog (null,ex.toString ());
        System.out.println (ex.toString ());
     }
  }