Exception em escrita no txt (Acesso negado) [RESOLVIDO]

Pessoal, durante a execução minha aplicação faz uma leitura e, posteriormente, escrita em um arquivo TXT que fica noa mesmo diretório do .JAR. Até aí tudo bem. O problema é:
Enquanto meu .JAR esta na area de trabalho ele faz a leitura e escrita normalmente, mas quando instalo e ele vai pra diretório do tipo C:\Program Files… ele somente le o arquivo TXT mas dá exceção quando vai escrever. A exceção é

java.io.FileNotFoundException: C:\Program Files\....meuTXT.txt (Acesso Negado) 

Diz ser arquivo não encontrado, mas se lê como não grava. A sintaxe de escrita ta certa pq funciona fora de lá e estando lá le também só não grava.

Alguém já se deparou com isso?

Qual o menor trecho de codigo que vc pode representar aqui pra demonstrar o problema?

(Nem todo mundo vai ter acesso a uma maquina rodando Windows, btw)

[quote=cv]Qual o menor trecho de codigo que vc pode representar aqui pra demonstrar o problema?

(Nem todo mundo vai ter acesso a uma maquina rodando Windows, btw)[/quote]

package br.edu.anglo.JLABRO.DAO;

import java.io.File;

public class FileTXT {

	// Faz a leitura de um arquivo TXT cujo caminho é passado por parâmetro
	public static String readFileTXT(String caminho) throws Exception {
		Scanner input;
		String texto = "";

		try
		{
			input = new Scanner(new File(caminho));
			while(input.hasNext())
			{
				texto += input.nextLine() + "\n";
			}
			if(input!=null)
				input.close();
		}
		catch(Exception ex)
		{
			throw new Exception(ex);
		}


		return texto;
	}

	// Faz a escrita de um arquivo TXT através do texto e caminho do arquivo passados por parâmetro
	public static boolean writeFileTXT(String texto, String caminho) throws Exception {
		Formatter output;

		try
		{
			output = new Formatter(caminho);
			output.format(texto);
			if(output!=null)
				output.close();
			return true;
		}
		catch(Exception ex)
		{
			throw new Exception(ex);
		}

	}
}
				FileTXT.writeFileTXT(loginDB+"\n"+senhaDB,"files/config.txt");

Você não pode escrever nesse diretorio,…

Restrição do windows…

Clica com o direito na sua pasta de arquivos de programas e libera a permissao

pra qualquer usuario poder ler escrecer e editar…

abcs

[quote=luizfelipetx]Você não pode escrever nesse diretorio,…

Restrição do windows…

Clica com o direito na sua pasta de arquivos de programas e libera a permissao

pra qualquer usuario poder ler escrecer e editar…

abcs[/quote]

Isso isso, tudo bem. Mas e se tiver no pc de outra pessoa? O instalador vai instalar lá. Não quero que a pessoa faça esse trabalho todo pra poder ter o programa funcionando certo.
Tem alguma forma de eu liberar a permissão pra um arquivo em específico? Alguma forma de implementar junto à aplicação algo que permita escrita nàquele arquivo??

sobre permissão de diretório varia de máquina para máquina.
você poderia tentar fazer com que o diretório padrão seja a pasta do usuário.

Eu ja fiz um programa assim também,

faz o seguinte brother…

instala em um local que voce possa escrever…

ja te digo… o mais pratico que voce pode fazer eh setar em algum

lugar basico … tipo Desktop , ou C:/temp ou C:/seu programa…

Ou usar um instalador do baixaki para criar uma pasta pra vc com seus jar dentro…

o caminho absolito dos arquivos q vc criar… sao /arquivo.txt

abcs

[quote]
Isso isso, tudo bem. Mas e se tiver no pc de outra pessoa? O instalador vai instalar lá. Não quero que a pessoa faça esse trabalho todo pra poder ter o programa funcionando certo.
Tem alguma forma de eu liberar a permissão pra um arquivo em específico? Alguma forma de implementar junto à aplicação algo que permita escrita nàquele arquivo?? [/quote]
Siga a dica do amigo acima.Só instale aonde vc possa escrever.Dependendo da empresa, esses locais são beem controlados, e mês passado tive o mesmo problema que vc.Criei uma pasta TEMP para isso.Se não conseguir criá-la, mande uma exceção e nem deixe instalar o programa avisando problemas com permissão.Melhor resolver as restrições primeiro, do que deixar instalar o programa e depois alguem lhe dizer que “tem um bug”! :wink:

[quote=Ironlynx][quote]
Isso isso, tudo bem. Mas e se tiver no pc de outra pessoa? O instalador vai instalar lá. Não quero que a pessoa faça esse trabalho todo pra poder ter o programa funcionando certo.
Tem alguma forma de eu liberar a permissão pra um arquivo em específico? Alguma forma de implementar junto à aplicação algo que permita escrita nàquele arquivo?? [/quote]
Siga a dica do amigo acima.Só instale aonde vc possa escrever.Dependendo da empresa, esses locais são beem controlados, e mês passado tive o mesmo problema que vc.Criei uma pasta TEMP para isso.Se não conseguir criá-la, mande uma exceção e nem deixe instalar o programa avisando problemas com permissão.Melhor resolver as restrições primeiro, do que deixar instalar o programa e depois alguem lhe dizer que “tem um bug”! :wink: [/quote]

Galera,

Minha solução foi instalar o programa normalmente C:\Program files… e criar uma pasta dentro da pasta do usuário logado. Lá eu posso ler e escrever em arquivos.
Pra pegar o diretório do usuário logado no java é só usar o comando:

				String caminho = System.getProperty("user.home");