Leitura e escrita de arquivos no linux

8 respostas
jonatanpedro

Olá a todos,

Tenho uma pequena dúvida:
estou tentando editar um arquivo no linux para definir as configurações de rede, o arquivo “interfaces” da pasta /etc/network, porém a minha aplicação não consegue carregar o arquivo, estou achando que é pq o arquivo não possui extenção e a aplicação pensa que é um diretório…

Aguém tem alguma idéia?

Agradeço desde já

8 Respostas

gilmaslima

vc está editando o arquivo pelo java?

acredito que não seja por falta de extensão.

posta seu código ai…

jonatanpedro

Estou editando sim.

File arqInterfaces = new File("/etc/network/interfaces");
        if (!arqInterfaces.exists()) {
            arqInterfaces.createNewFile();
        }

        PrintWriter printWriter = new PrintWriter(arqInterfaces);
        
        printWriter.write(formatIpStaticFile(eth));
        
        printWriter.flush();
        printWriter.close();
private String formatIpStaticFile(NetworkBean eth) {

        StringBuilder sb = new StringBuilder();
        sb.append("auto lo\n");
        sb.append("iface lo inet loopback\n");
        sb.append("iface eth0 inet static\n");
        sb.append("address ");
        sb.append(eth.getIp());
        sb.append("\n");
        sb.append("netmask ");
        sb.append(eth.getMask());
        sb.append("\n");
        sb.append("gateway ");
        sb.append(eth.getGateway());
        sb.append("\n");
        sb.append("auto eth0\n");

        return sb.toString();
    }

Acredito que não tenha nada demais…
O que poderia ser?
Não é problemas de permissão, pois dei acesso full a o arquivo.

P

chegou a a verificar se o arquivo não está dentro do seu projeto???

jonatanpedro

Como assim?
O arquivo não está no meu projeto, ele está neste caminho: “/etc/network/interfaces”.
Como está no código, ele verifica se possui um arquivo naquele local, caso não, é criado um.

drigo.angelo

que bizarro o0

era pra dar certo sim…

coloca um println dentro do if (!arqInterfaces.exists()) {

pra ver se ele ta encontrando o arquivo

vc tem permissão para altera-lo? acho que tem que ser su para fazer isso…

drigo.angelo

Ta dando algum erro/excessão/

jonatanpedro

Quando fiz um debbug não encontrou o arquivo…
O arquivo esta com todas a permissões, qualquer um pode acessar e editar.

drigo.angelo

Tenta usar, no lugar do flush() o checkError() e ve o que ele ta retornando…

Criado 25 de fevereiro de 2011
Ultima resposta 28 de fev. de 2011
Respostas 8
Participantes 4