Olá!! Tenho um programa que cria arquivos de texto e faz leitura e escrita nos mesmos. Queria evitar o seguinte caso. O usuário consegue abrir esse arquivo pelo notepad e consegue editar. Queria saber se é possível mudar isso. Como eu poderia não permitir que o usuário edite o arquivo??
Salva o arquivo em um diretório com acesso restrito.
abraço
Mas o meu java acessa normalmente esses arquivos??
Depende do usuário. Configura de modo que somente o usuário da sua aplicação tenha acesso a este diretório.
Abraço
Uma coisa que eu pensei mas não sei se seria possível. A minha idéia seria criar o equivalente em java a uma dll. Se o usuário tentar abrir com o bloco de notas, aparece todo codificado, mas o java consegue ler e escrever neste arquivo. Existe algo parecido??
É… A solução do amigo acima é bem melhor…
Abraço
Por que você não usa criptografia???
o cara faz o download do arquivo e altera na própria máquina dele?
Estava pensando na segurança do sistema. Se o cara abrir o arquivo de texto onde eu tenho os dados e apagar ou editar manualmente pelo notepad, atrapalha toda a execução. Por isso queria um modo de bloquear essa opção. Não posso usar criptografia pq ainda sim ele pode ir lá e apagar dados. Vou tentar esse de somente leitura. Valeu!!
Neste caso esta é a melhor opção realmente.
Fiz da seguinte forma:
String dir = "C://Univap";
File arq1 = new File("filtro.txt");//teste
arq1.setReadOnly();
BufferedWriter bw = new BufferedWriter(new FileWriter(dir+"//"+arq1));
Mas ainda consigo abrir o arquivo, editar e salvar.
acredito que não va funcionar. essas permissões tem a ver com os usuarios do SO.
no maximo vc poderia ter uma Thread que mantivesse o arquivo aberto e consequentemente locado. mas isso tem varios incovenientes.
sem usar algum codigo nativo do SO acho que não tem como fazer o que vc quer.
[]´s
Valeu!! Não deu certo mesmo o setReadOnly. Ela apenas verifica se o arquivo é somente leitura ou não, e não seta a permissão para ele ser somente leitura.