Estou fazendo uma aplicação no linux e assim q executo ela pela primeira vez é criado um arquivo estou querendo mudar as permissoes desse arquivo usando o Runtime.getRuntime().exec() mas quando o caminho do arquivo esta em pasta com nomes compostos ele nao executa o comando descrito no Runtime… Exemplo:
Arquivo localizado em: /home/usuario
Assim que é rodado ele cria o arquivo e as permissoes sobre ele sao alteradas normalmente
Arquivo localizado em: /home/usuario/Área de Trabalho
Assim que é rodado ele cria o arquivo normalmente mas o comando do Runtime (chmod go-r) nao é executado
Segue codigo abaixo:
private void criaLock(){
try {
File file = new File(System.getProperty("user.dir")+ File.separator +"configuracoes" + File.separator + "lock.txt");
System.out.println("TrayIconLinux.criaLock()");
boolean success = file.createNewFile();
if (success) {
try {
Process p = Runtime.getRuntime().exec("chmod go-r "+(System.getProperty("user.dir") + File.separator +"configuracoes" + File.separator + "lock.txt"));
System.out.println("TrayIconLinux.criaLock() ==> Criando novo arquivo");
}
catch ( FileNotFoundException e ) {
JOptionPane.showMessageDialog(null,"Arquivo não encontrado.");
}
catch ( IOException e ) {
JOptionPane.showMessageDialog(null,"Entrada inválida.");
}
}else{
System.out.println("TrayIconLinux.criaLock() ==> Arquivo já existente");
}
} catch (IOException e) {
}
}
Agradeço desde já