Ae pessoal...
Saca só:public boolean daPermissao(String dir) throws Exception {
if (new File(dir).canWrite())
return false;
else {
Runtime.getRuntime().exec("chmod 0766 " + dir);
return true;
}
}
Oq eu quero com esse método? Assim... quero simplesmente saber se um determinado diretorio(num servidor linux) tem permissao de escrita. Só isso! Se já tiver permissao de escrita.. Tudo bem. Se não, ele vai dar esse exec ae pra dar a permissao.
Bem... Essa classe Runtime é nova pra mim e tou dando umas sacada nela agora. Mas o problema num ta ae AINDA!
Problema: Tou achando q esse método(canWrite()) não faz realmente oq eu quero. Mesmo que eu tire todas as permissoes de um diretorio, o canWrite() sempre da TRUE, como se o diretorio tivesse permissao pra escrita...mas na verdade nao tem. Tirei todas!
Nas especificações da SUN diz q o canWrite() testa "files"(arquivos) e talvez não teste diretorios. Num sei se pode ser isso!
<%
Diretorio dir1 = new Diretorio();
String str = "/home/ugo/teste";
if (dir1.daPermissao(str))
out.println("Foi dado ao arquivo permissao de escrita");
else
out.println("O arquivo ja tem permissao de escrita");
%>
Esse é o teste q tou fazer ... é em JSP. Como o canWrite() sempre dá TRUE, entao o método retorna FALSE e esse IF sempre cai no ELSE. Bah!
Se alguem sacar de permissoes e dessas classes ae... me diga se tou fazendo alguma besteira, ou se tem um jeito mais fácil de fazer isso por favor! E se sacar da classe Runtime...também já pode mencionar qq besteira q fiz ae. Ta valendo!!!
Grato!