Leggere file da url con Java
Vediamo un semplice codice che riesce a leggere il contenuto di file usando un url usando Java.
Non so che utilità possa avere e quando usarlo.
Però magari qualche idea può sempre venire.
Io l'ho usato dentro un programmino per riempire una JTextArea ad esempio...
Il codice è poco e facile; in tutto abbiamo una classe e due metodi (incluso il main).
import java.io.*;
import java.net.URL;
public class URLReader {
private String url;
public URLReader(String url) {
this.url = url;
}
public String read() throws Exception {
StringBuilder sb = new StringBuilder();
URL u = new URL(this.url);
InputStreamReader in = new InputStreamReader(u.openStream());
BufferedReader buf = new BufferedReader(in);
String line;
while ((line = buf.readLine()) != null) {
sb.append(line);
}
return sb.toString();
}
public static void main(String[] args) throws Exception {
URLReader rd = new URLReader("http://192.168.1.130");
System.out.println(rd.read());
}
}
Il costruttore della classe URLReader accetta uno String come parametro, e corrisponde all'url da leggere.
Il metodo read è quello che fa il tutto.
Usiamo StringBuilder per costruire la stringa.
Poi apriamo uno stream in input con InputStreamReader prendendo lo stream dall'oggetto URL.
Dentro al ciclo while leggiamo il contenuto con un BufferedReader, e appendiamo il tutto allo StringBuilder.
Nel metodo main richiamiamo istanziamo un oggetto di classe URLReader passandogli l'url e stampiamo il risultato.
Io ho interrogato il web server che sta in un pc della rete, e questo è il risultato:
Index of /
Name Last modified Size Description
java url inputstreamreader bufferedereader strCondividi
Commentami!
3 Commenti
Grazie, mi è stato molto utile
07/10/2017ciao!<br />non ho mai affrontato questo problema direttamente.<br />forse potresti usare ajax.<br />qui ci sono alcuni esempi di base: http://stackoverflow.com/questions/247483/http-get-request-in-javascript
03/04/2013Ciao, io avrei bisogno di leggere un URL ma in Javascript, fare il download (semmai della pagina), e poi leggere una stringa di codice (che è univoca). Come potrei fare tutto ciò in Javascript ? Che è decisamente di verso da Java :) .... Grazie, saluti Giuseppe.
03/04/2013