[RESOLVIDO] Ler arquivos no servidor

5 respostas
D

Galera preciso ler um txt e apagar ele em um servidor http, teria como fazer isso através de uma aplicação em swing?

5 Respostas

R

Ola, somente para ler seria fácil, mas para editar terá que usar ftp e logar no servidor com permissões…

D

Se for somente para ler, como eu poderia fazer ?

G

Se você tiver acesso direto ao servidor e permissões para editar o arquivo é simples, faça algo assim:

Usando Scanner

Scanner scan = new Scanner(new File("arquivo.txt"));
while(scan.hasNextLine())
{
	System.out.println(scan.nextLine());
}

Usando InputStream:

InputStream is = new FileInputStream(new File("arquivo.txt"));
InputStreamReader isr = new InputStreamReader(is);
BufferedReader reader = new BufferedReader(isr);
String linha = reader.readLine();
while(linha  != null)
{
	System.out.println(linha);
	linha = reader.readLine();
}
D

Mais o servidor fica no http tipo http://www.site.com.br/arquivo.txt

Não consigo acessar ele via new File()

D

Vou postar aqui um teste que eu fiz e funcionou legal, vlw galera

package teste;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import sun.misc.BASE64Encoder;

public class AcessarServidor {

    public AcessarServidor() {
        super();
    }

    public static void main(String[] args) throws IOException {
        BASE64Encoder enc = new sun.misc.BASE64Encoder();
        //
        URL url = new URL("http://100.100.100.177:8080/integracao/teste.txt");

        HttpURLConnection connection = (HttpURLConnection) url.openConnection();
        connection.addRequestProperty("Request-Method", "GET");
        
        connection.addRequestProperty("Authorization", "Basic " + enc.encode("user:password".getBytes()));

        connection.setDoInput(true);
        connection.setDoOutput(false);
        connection.connect();

        if (connection.getResponseCode() == 200) {//HttpURLConnection.HTTP_ACCEPTED
            BufferedReader br = new BufferedReader(new InputStreamReader(connection.getInputStream()));
            StringBuffer newData = new StringBuffer();
            String s = "";
            while (null != ((s = br.readLine()))) {
                newData.append(s);
            }
            br.close();
            System.out.println(new String(newData));
        }

        System.out.println("Resultado: " + connection.getResponseCode() + "/" + connection.getResponseMessage());

        connection.disconnect();
    }
}
Criado 27 de junho de 2012
Ultima resposta 28 de jun. de 2012
Respostas 5
Participantes 3