Läsa textfil från server.

Discussion in 'Frågor, support och diskussion' started by fpersson, Jul 15, 2011.

  1. fpersson

    fpersson Infant Droid Medlem

    Joined:
    Jun 16, 2011
    Messages:
    5
    Likes Received:
    0

    MINA ENHETER

    Hej jag försöker läsa en enkel textfil från en webserver, tanken är att appen ska hämta en enkel konfigurationsfil från en server. Min app har tillåtelse att kommunicera med nätet.

    Min funktion ser ut så här:
    Code:
    private void download(){
        try{
            URL srcUrl = new URL(m_config);
            URLConnection con = srcUrl.openConnection();
            BufferedReader reader = new BufferedReader(new InputStreamReader(con.getInputStream()));
            OutputStream out = new FileOutputStream(m_destfile);
            Writer writer = new OutputStreamWriter(out);
            String inline;
            
            while((inline = reader.readLine())!=null){
                writer.write(inline);
                Log.v("Downloder::download append - ", inline);
            }
            writer.close();
            reader.close();
        }catch(Exception e){
            Log.v("Downloder::download ", "Faild to load "+m_config);
        }
    }
    Koden fungerar om jag kör funktionen som ett rent javaprojekt, men när jag stoppar in funktionen i mitt android projekt så vill det inte. Loggen säger att det inte går att läsa källfilen (m_config). Skiljer sig det något mellan "riktiga" java och androids java funktioner, finns det någon bättre metod att läsa in konfigurationen.

    //Fredrik
     
  2. Adam2

    Adam2 Adult Droid Medlem

    Joined:
    Jul 26, 2010
    Messages:
    732
    Likes Received:
    55

    MINA ENHETER

  3. woody

    woody Teen Droid Medlem

    Joined:
    Sep 3, 2009
    Messages:
    319
    Likes Received:
    19

    MINA ENHETER

    HttpClient och HttpGet är nog det vanligaste att använda.

    Fritt skrivet exempel:
    Code:
    HttpGet request = new HttpGet("http://www.example.com/textfil.txt");
    
    HttpClient client = new DefaultHttpClient();
    HttpResponse response = client.execute(request);
    
    int status = response.getStatusLine().getStatusCode();
    
    if (status != HttpStatus.SC_OK) {
       throw new Excpetion();
    }
    
    BufferedReader in = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));