Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: [Java] Lettura stringa

  1. #1
    Utente di HTML.it L'avatar di HaCk88
    Registrato dal
    May 2005
    Messaggi
    193

    [Java] Lettura stringa

    Scusate la domanda un pò stupida .
    Ma come si legge una stringa con java???
    Non l'ho ancora capito
    Grazie


  2. #2
    Ma come si legge una stringa con java???
    Ma cosa intendi??
    Vuoi leggere da tastiera, da file, o, ingenerale, da input, oppure vuoi scorrere una stringa?

    Se desideri ottenera da tastiera una stringa, allora devi convertire l'InputStringBuffer System.in in un BufferedReader e leggerlo come se fosse un file (dopotutto è un file).

    Il codice:
    codice:
    // package delle classi di I/O
    import java.io.*
    
    // Dichiaro un BufferedReader, dal quale otterrò i dati
    // inizializzandolo con un InputStreamReader. (regola generale)
    // In questo caso il mio InputStreamReader è proprio lo 
    // standard input = System.in
    BufferedReader bufferDaTastiera = new BufferedReader(new InputStreamReader(System.in));
    
    // A questo punto posso eseguire le funzioni read() e readLine()
    // Approfondisci il tutto sulle API.
    // Es. Per leggere tutto un rigo e trasformalo in una stringa
    String lettoDaTastiera = bufferDaTastiera.readLine()
    Chiaro???

    Ciao

  3. #3
    Utente di HTML.it L'avatar di HaCk88
    Registrato dal
    May 2005
    Messaggi
    193
    Non mi funziona
    il codice è il seguente:
    codice:
    import java.io.*;
    public class redirectout {
    public static void main(String[] args) {
    BufferedReader bufferDaTastiera = new BufferedReader(new InputStreamReader(System.in));
    String lettoDaTastiera = bufferDaTastiera.readLine();
    try {
    FileOutputStream fos = new FileOutputStream(new File ("./output.txt"), true);
    PrintStream out = new PrintStream(fos);
    System.setOut(out);
    System.out.println(lettoDaTastiera);
    } catch (FileNotFoundException e) {
    e.printStackTrace();}
    }
    }
    io voglio ciò che l'utente scrive viene inserito nel file.txt

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    Così.
    codice:
    import java.io.*;
    
    public class redirectout {
       public static void main(String[] args) {
          try {
             BufferedReader bufferDaTastiera = new BufferedReader(new InputStreamReader(System.in));
             String lettoDaTastiera = bufferDaTastiera.readLine();
             FileOutputStream fos = new FileOutputStream(new File ("./output.txt"), true);
             PrintStream out = new PrintStream(fos);
             out.println(lettoDaTastiera);
             out.close();
          } catch (FileNotFoundException e) {
             e.printStackTrace();}
          }
       }
    }
    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

  5. #5
    Utente di HTML.it L'avatar di HaCk88
    Registrato dal
    May 2005
    Messaggi
    193
    Originariamente inviato da LeleFT
    Così.
    codice:
    import java.io.*;
    
    public class redirectout {
       public static void main(String[] args) {
          try {
             BufferedReader bufferDaTastiera = new BufferedReader(new InputStreamReader(System.in));
             String lettoDaTastiera = bufferDaTastiera.readLine();
             FileOutputStream fos = new FileOutputStream(new File ("./output.txt"), true);
             PrintStream out = new PrintStream(fos);
             out.println(lettoDaTastiera);
             out.close();
          } catch (FileNotFoundException e) {
             e.printStackTrace();}
          }
       }
    }
    Ciao.
    Grazie moltissimo Lele ma non funziona
    Comunque ho risolto così:
    codice:
    import java.io.*;
    public class redirectout {
    public static void main(String[] args) {
    try {
    BufferedReader bufferDaTastiera = new BufferedReader(new InputStreamReader(System.in));
    String lettoDaTastiera = bufferDaTastiera.readLine();
    FileOutputStream fos = new FileOutputStream(new File ("./output.txt"), true);
    PrintStream out = new PrintStream(fos);
    System.setOut(out);
    System.out.println(lettoDaTastiera);
    } catch (Exception e) {}
    }
    }
    Però voglio aggiungere una funzione che cancella tutto ciò che è scritto all'interno del file e inserisce la nuova stringa.
    Come si fa??
    Grazie

  6. #6
    Utente di HTML.it L'avatar di HaCk88
    Registrato dal
    May 2005
    Messaggi
    193
    Come si fa a cancellare il contenuto del file??? :master:

  7. #7
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    dichiari il writer non in append
    FileOutputStream fos = new FileOutputStream(new File ("./output.txt"), false);
    se vuoi scrivere del testo è meglio che utilizzi FileWriter

  8. #8
    Utente di HTML.it L'avatar di HaCk88
    Registrato dal
    May 2005
    Messaggi
    193
    Grazie moltissimooooo, funziona na meravigliaaaaaaaaaaaaaaa
    Grazie infinitivamente a tutti voi
    Non sapevo che quel "true" indicava l'append ovvero in inglese collegamento.
    Grazie moltissimo.

  9. #9
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    Effettivamente non avevo visto 1 errore e una "imprecisione"... comunque anche questo codice funziona:
    codice:
    import java.io.*;
    
    public class redirectout {
       public static void main(String[] args) {
          try {
             BufferedReader bufferDaTastiera = new BufferedReader(new InputStreamReader(System.in));
             String lettoDaTastiera = bufferDaTastiera.readLine();
             FileOutputStream fos = new FileOutputStream("./output.txt");
             PrintStream out = new PrintStream(fos);
             out.println(lettoDaTastiera);
             out.close();
          } catch (Exception e) {
             e.printStackTrace();
          }
       }
    }
    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

  10. #10
    Senza usare try puoi semplicemente scrivere

    public static void main(String[] args) throws IOException{


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 © 2024 vBulletin Solutions, Inc. All rights reserved.