Pessoal, não estou conseguindo criar um txt em uma pasta no arquivos e programas
segue o código
String programFiles = System.getenv("ProgramFiles");
String line = null;
try {
File f = new File(programFiles+ "\\Programa\\teste.txt");
boolean exists = f.exists(); // fala que não existe mas quando eu pego o path e coloco no existe o path
boolean createNewFile = f.createNewFile();
} catch (IOException e2) {
e2.printStackTrace();
}
Se pego o mesmo código e coloco para criar o txt no desktop o txt é criado normalmente
como posso resolver isso?
Não faz - isso é problema de permissão, e você vai ver que se o Windows for Vista ou 7 ou 2008, ou então você estiver rodando em uma conta que não tem poderes de administrador no Windows NT, 2000, 2003, você não vai conseguir escrever sem que o programa receba explicitamente, quando for iniciado, as permissões corretas.
No código Java não. Você pode fazer isso por fora, por exemplo: no caso do Windows Vista ou 7, você pode criar um atalho para seu programa que solicita as permissões adequadas (clique com o botão direito no atalho, escolha aquelas opções de compatibilidade, deve haver uma que é “Rodar como Administrador” ou coisa semelhante.
De modo geral, é péssima prática você ter de criar um arquivo no diretório Program Files (Arquivos de Programas).
Se for necessário criar um arquivo desses, deve ser somente durante a instalação do programa.