Autore Topic: problema lettura file txt da web  (Letto 801 volte)

Offline gui892

  • Nuovo arrivato
  • *
  • Post: 6
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    samsung galaxy s2
problema lettura file txt da web
« il: 17 Marzo 2012, 23:32:08 CET »
0
Salve a tutti!
voglio semplicemente scaricare da web nella sdcard un file txt e mostrarlo in una textview.Questo riesco a farlo ma invece che visualizzarmi il testo(Ciao),mi visualizza il testo come in foto allegata.Qualcuno sa dirmi come mai?
Codice (Java): [Seleziona]
 try {
         //set the download URL, a url that points to a file on the internet
         //this is the file to be downloaded
         URL url = new URL( "[url=http://web.tiscali.it/guido892/ciao1.txt"]Tiscali Webspace[/url]);

         //create the new connection
         HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();

         //set up some things on the connection
         urlConnection.setRequestMethod("GET");
         urlConnection.setDoOutput(true);

         //and connect!
         urlConnection.connect();

         //set the path where we want to save the file
         //in this case, going to save it on the root directory of the
         //sd card.
         String SDCardRoot = Environment.getExternalStorageDirectory()+ "/thew";
         //create a new file, specifying the path, and the filename
         //which we want to save the file as.
         File file = new File(SDCardRoot,"/ciao1.txt");

         //this will be used to write the downloaded data into the file we created
         FileOutputStream fileOutput = new FileOutputStream(file);

         //this will be used in reading the data from the internet
         InputStream inputStream = urlConnection.getInputStream();

         //this is the total size of the file
         int totalSize = urlConnection.getContentLength();
         //variable to store total downloaded bytes
         int downloadedSize = 0;

         //create a buffer...
         byte[] buffer = new byte[1024];
         int bufferLength = 0; //used to store a temporary size of the buffer

         //now, read through the input buffer and write the contents to the file
         while ( (bufferLength = inputStream.read(buffer)) > 0 ) {
                 //add the data in the buffer to the file in the file output stream (the file on the sd card
                 fileOutput.write(buffer, 0, bufferLength);
                 //add up the size so we know how much is downloaded
                 downloadedSize += bufferLength;
                 //this is where you would do something to report the prgress, like this maybe
               

         }
         //close the output stream when done
         fileOutput.close();

 //catch some possible errors...
 } catch (MalformedURLException e) {
         e.printStackTrace();
 } catch (IOException e) {
         e.printStackTrace();
 }
        File sdcard = Environment.getExternalStorageDirectory();

      //Get the text file
      File file = new File(sdcard,"/thew/ciao1.txt");

      //Read text from file
      StringBuilder text = new StringBuilder();

      try {
          BufferedReader br = new BufferedReader(new FileReader(file));
          String line;

          while ((line = br.readLine()) != null) {
              text.append(line);
              text.append('\n');
          }
      }
      catch (IOException e) {
          //You'll need to add proper error handling here
      }

      //Find the view by its id
     

      //Set the text
      tv.setText(text);
}
   
}

Offline Mr.Donut

  • Utente junior
  • **
  • Post: 67
  • Respect: +4
    • Mostra profilo
  • Dispositivo Android:
    Nexus One, Lg Optimus Chat
  • Sistema operativo:
    Ubuntu 11.04
Re:problema lettura file txt da web
« Risposta #1 il: 23 Marzo 2012, 21:08:05 CET »
0
Perché tu salvi tutto il contenuto del tuo file che non contiene solo la parola "ciao", ma contiene anche altro codice.
Immagino che tu debba prima parsificare il tuo file facendo in modo che venga letto tutto quello che è esterno a <script></script>.
Magari spiega meglio che cosa vorresti fare =)