Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it L'avatar di paul78
    Registrato dal
    Apr 2010
    Messaggi
    515

    Aprire un file leggendo la stringa di un campo...

    Ciao a tutti!!!!

    Ho creato un programmino in java con un database mysql.

    Nel mysql ho inserito 2 varchar: nome_canzone, canzone

    nel campo "canzone" inserisco la directory del file (ad esempio: c:\file.mp3)

    Fin'ora tutto ok!!!!!

    ora il file lo voglio aprire il file "file.mp3" leggendo la stringa della directory inserita nel campo...come faccio???

    Aiutatemi!!!

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,326

    Moderazione

    Magari postando nel forum Java e avendo cura di indicare il linguaggio anche nel titolo, come richiesto dal regolamento interno...

    Sposto.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,326
    Non mi è chiaro quale sia la problematica:

    1) Non sai come effettuare la lettura da DB?
    2) Riesci a leggere da DB, ma non sai come aprire il file una volta ottenuto il nome?
    3) Cosa intendi per "aprire" il file... intendi avviare la riproduzione del file MP3 usando il lettore predefinito nel sistema in uso?


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  4. #4
    Utente di HTML.it L'avatar di paul78
    Registrato dal
    Apr 2010
    Messaggi
    515
    scusate il ritardo....

    allora ho scritto questo cod:

    codice:
    try {
        				   conn = DriverManager.getConnection("jdbc:mysql://localhost/basi?user=root&password=root"); 
        				   stmt = conn.createStatement(); 
        				   String sql = "SELECT testo FROM anni_60 WHERE id = 3";
        				   rs = stmt.executeQuery(sql);
        				   
        				   String risultato = rs.getString("testo");    		
        				   File f=new File(risultato); 
        		           BufferedReader br = new BufferedReader(new FileReader(f));
        		           String st = "";
        		        	while((st=br.readLine()) != null){ 
        		        		if (!st.startsWith(">")) { 
        		        			textArea.append(st + "\n");
        		        			textArea.setFont(new Font("times new roman", Font.BOLD, 30)); 
        		        		} 
        		        	}
        				 
        				   stmt.close();
        				   conn.close();
        			   }
        			   catch (Exception exc) {
    					System.out.println("Errore: "+ exc.getMessage());
        			   }
    mi esce nella console:

    Errore: Before start of result set

    che vuol dire??

  5. #5
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Originariamente inviato da paul78
    Errore: Before start of result set

    che vuol dire??
    Il cursore del ResultSet è posizionato prima dell'inizio dei risultati. Devi chiamare next() per scorrerli, come c'è scritto in qualsiasi guida/tutorial/libro sull'argomento
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  6. #6
    Dopo il codice

    rs = stmt.executeQuery(sql);
    devi inserire la seguente stringa rs.next();

  7. #7
    Utente di HTML.it L'avatar di paul78
    Registrato dal
    Apr 2010
    Messaggi
    515
    Codice PHP:
    conn DriverManager.getConnection("jdbc:mysql://localhost/basi?user=root&password=root");
                            
    stmt conn.createStatement();                         
                            
                            
    //per visualizzare il db
                            
    String sql "SELECT testo FROM anni_60 WHERE id = 3";
                             
    rs stmt.executeQuery(sql);

                           
                            while (
    rs.next()) { 
                                
    String res rs.getString(1);
                                
                                
    textArea.append(res "\n"); 
                                
    textArea.setFont(new Font("times new roman"Font.BOLD30));
                            } 
    così mi esce ul che ho inserito nel campo...
    nella textArea vorrei inserire il file daal'url inserito nel campo

    spero di essere stato chiaro...

  8. #8
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,326
    Originariamente inviato da paul78
    spero di essere stato chiaro...
    No, per niente... cerca di spiegarti meglio e... perchè setti il Font della textarea ad ogni iterazione sul ResultSet?? Se ti escono 50 record, effettui 50 settaggli dello stesso font per la textarea... un po' inutili, ne basta uno.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  9. #9
    Utente di HTML.it L'avatar di paul78
    Registrato dal
    Apr 2010
    Messaggi
    515
    allora...prima di tutto mi è sorto un'altro problema.....

    Codice PHP:
    link_nome_testo.setText(chooser.getSelectedFile().getAbsolutePath()); 
    con questo cod. mi restituisce la path del file....

    per inserirlo nel database:

    Codice PHP:
    String s3link_nome_testo.getText(); 
    in questo modo mi scrive nel db la periferica, ma senza "\" come mai???
    in questo modo non potrei mai aprire il file...

    l'altro problema è collegato al primo....

    praticamente ho creato un db con 2 varchar "nome" "link_nome_testo"

    nel primo inserisco il nome

    nel secondo tramite JFileChooser copio la path del file.txt e la inserico nel "link_nome_teso"

    nel frame ho inserito una JList dove mi escono solo il nome del testo.

    all'evento click del "nome" vorrei aprire nella JTextArea il file.txt (con append)....

    Come faccio!!!!??

    Spero di essere stato chiaro.....

  10. #10
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,326
    Originariamente inviato da paul78
    allora...prima di tutto mi è sorto un'altro problema.....

    Codice PHP:
    link_nome_testo.setText(chooser.getSelectedFile().getAbsolutePath()); 
    con questo cod. mi restituisce la path del file....

    per inserirlo nel database:

    Codice PHP:
    String s3link_nome_testo.getText(); 
    in questo modo mi scrive nel db la periferica, ma senza "\" come mai???
    Perchè il carattere di backslash (usato nei sistemi Windows come separatore di percorso) in tutto il resto del mondo è un carattere speciale che serve a "quotare" i caratteri speciali. Essendo un carattere speciale, quindi, egli stesso va quotato (quindi, ogni carattere "\" deve essere preceduto da un carattere "\"). Puoi risolvere la cosa, sostituendo ciascun carattere "\" con il relativo carattere "/" (slash), che non è un carattere speciale e non ha bisogno di alcun quote:

    codice:
    String s3= link_nome_testo.getText();
    s3 = s3.replaceAll("\\\\","/");
    praticamente ho creato un db con 2 varchar "nome" "link_nome_testo"

    nel primo inserisco il nome

    nel secondo tramite JFileChooser copio la path del file.txt e la inserico nel "link_nome_teso"

    nel frame ho inserito una JList dove mi escono solo il nome del testo.

    all'evento click del "nome" vorrei aprire nella JTextArea il file.txt (con append)....

    Come faccio!!!!??

    Spero di essere stato chiaro.....
    Questo è un problema diverso e richiede una discussione separata. Prima di aprirla, comunque, fai una ricerca nel forum: l'argomento "lettura di un file di testo" è stato trattato centinaia di volte.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.