Applet criando arquivo txt

1 resposta
D
Bom dia, não sei se aqui seria o lugar ideal para postar, mas a minha duvida é a seguinte, ao começar a estudar applet, percebi que eu poderia automatizar as atualizações do sistema na empresa que trabalho (sistema desenvolvido em foxpro), que hoje é atualizado manualmente, então comecei criando um arquivo jnlp que criasse um txt como exemplo. No eclipse funciona sem maiores problemas, porém quando testo fora do eclipse com um duplo clique no arquivo ou dentro do browser (chrome) não funciona, não gera exception,  carrega o applet. Segue os códigos:

Test.jar

import javax.swing.JApplet;
import java.util.Formatter;
import java.io.FileNotFoundException;
import javax.swing.JOptionPane;
import java.util.NoSuchElementException;
import java.util.FormatterClosedException;

public class Test extends JApplet
	{
		private Formatter arquivo = null;
		
		@Override
		public void init()
			{	
				try
					{
						arquivo = new Formatter("testeJnlp.txt");
						JOptionPane.showMessageDialog(null, "Arquivo Criado com Exito");
					}
				catch(FileNotFoundException fileNotFoundException)
					{
						JOptionPane.showMessageDialog(null, "Não foi possível criar o arquivo. O sistema será encerrado.");
						System.exit(1);
					}
			}
		
		@Override
		public void start()
			{
				try
					{	
						if (arquivo != null)
							{
								arquivo.format("Esse é um teste de gravação de arquivo", "");
							}
					}
				catch(NoSuchElementException noSuchElementException)
					{
						JOptionPane.showMessageDialog(null, "O arquivo não pode ser gravado. O sistema será                         encerrado.");
						System.exit(1);
					}
				
			}
		
		@Override
		public void stop()
			{
				try
					{
						if (arquivo != null)
							{
								arquivo.close();
							}
					}
				catch(FormatterClosedException formatterClosedException)
					{
						JOptionPane.showMessageDialog(null, "O arquivo não está aberto");
						System.exit(1);
					}
			}
	}

arquivo jnlp

<?xml version="1.0" encoding="UTF-8"?>
<jnlp codebase="file:." href="Teste.jnlp">
	<information>
		<title>Exemplo de JNLP</title>
		<vendor> Eduardo Dicarte</vendor>
		<shortcut>
			<desktop/>
		</shortcut>
		<offline-allowed/>
	</information>
	
	<resources>
		<java version="1.6+" />
		<jar href="Test.jar" main="true" />
	</resources>
	
	<applet-desc name="Test" main-class="Test" width="400" height="400"></applet-desc>
</jnlp>

1 Resposta

D

Consegui achar o problema, mas não sei como resolver, segue a exception gerada:

java.security.AcessControlException: acesse denied(java.io.FilePermission teste.jlnp.txt write)

Sei que esse erro é de acesso negado para a escrita, mas como eu posso corrigir isso? Como posso configurar as permissões para o java escrever ou mesmo perguntar ao usuário se ele deseja permitir que a aplicação escreva em disco?

Criado 24 de julho de 2011
Ultima resposta 24 de jul. de 2011
Respostas 1
Participantes 1