exception em escrita no txt (Acesso negado) [RESOLVIDO]  XML
Índice dos Fóruns » Java Avançado
Autor Mensagem
wellingtonfoz
JavaGuru

Membro desde: 07/10/2010 00:24:37
Mensagens: 223
Offline

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 é


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?

This message was edited 1 time. Last update was at 16/06/2011 00:18:01

cv
Moderador
[Avatar]

Membro desde: 04/04/2003 00:32:12
Mensagens: 7842
Localização: São Paulo, SP
Offline

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)
[Email] [WWW] [Yahoo!] [MSN] [ICQ]
wellingtonfoz
JavaGuru

Membro desde: 07/10/2010 00:24:37
Mensagens: 223
Offline

cv wrote: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)




luizfelipetx
Thread.start()
[Avatar]

Membro desde: 27/11/2010 20:59:45
Mensagens: 42
Offline

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

OCJPA = Em andamento
OCWD - Em andamento
SCJP 6
SCJA 6
[MSN]
wellingtonfoz
JavaGuru

Membro desde: 07/10/2010 00:24:37
Mensagens: 223
Offline

luizfelipetx wrote: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


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??

otaviojava
GUJ Master
[Avatar]

Membro desde: 14/12/2010 10:09:09
Mensagens: 1192
Localização: Salvador,Bahia
Offline

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.

twitter- https://twitter.com/otaviojava
java -http://home.java.net/blogs/otaviojava
blog - http://otaviosantana.blogspot.com/
javabahia - http://javabahia.blogspot.com/
linguagil - http://javabahia.blogspot.com/
Desenvolva aplicações com Cassandra de uma maneira mais fácil com o EasyCassanra: https://github.com/otaviojava/Easy-Cassandra

[WWW]
luizfelipetx
Thread.start()
[Avatar]

Membro desde: 27/11/2010 20:59:45
Mensagens: 42
Offline

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

OCJPA = Em andamento
OCWD - Em andamento
SCJP 6
SCJA 6
[MSN]
Ironlynx
Moderador
[Avatar]

Membro desde: 02/05/2003 01:06:41
Mensagens: 3515
Localização: The other side of the screen
Offline


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??

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"!

Não basta persistir...tem que prevalecer!
Ironlynx
Anarquista de Sistemas
http://osereojava.blogspot.com/
[WWW]
wellingtonfoz
JavaGuru

Membro desde: 07/10/2010 00:24:37
Mensagens: 223
Offline

Ironlynx wrote:

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??

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"!


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:
 
Índice dos Fóruns » Java Avançado
Ir para:   
Powered by JForum 2.1.8 © JForum Team