Criar um arquivo.txt dentro de um package?

Salve galera…Estou tentando criar um arquivo.txt dentro de um package, mas ainda naum consegui fazer funcionar.

estou tentando assim


        try {
            dos = new DataOutputStream(new FileOutputStream(new File(getClass().getResourceAsStream("pacote/arquivo.txt").toString())));
            dos.writeChars("Fernando Paiva");
            dos.close();
        } catch (IOException ex) {
            JOptionPane.showMessageDialog(null, ex.getMessage());
        }

Ainda naum consegui fazer, como eu faco para gravar um arquivo.txt em um package do meu projeto ???

obrigado

que erro está acontecendo?
está programando no windows? tente colocar o diretório completo, por exemplo “C:/projeto/package/arquivo.txt” se estiver programando p/ SE terá que usar 2 barras.

Entaum, se eu passar o caminho “src/pacote/arquivo.txt”, consigo criar…Mas para ler nao consigo, tenho q criar outro objeto…veja.

public class Arquivos{
    private static final File arquivo;

    public Arquivos(){
         arquivo = new File("src/pacote/arquivo.txt");           
         criaArquivo();
         leArquivo();            
    }

    public void criaArquivo(){
          try {  
                dos = new DataOutputStream(new FileOutputStream(new File(getClass().getResourceAsStream("pacote/arquivo.txt").toString())));  
                dos.writeChars("Fernando Paiva");  
                dos.close();  
          } catch (IOException ex) {  
                JOptionPane.showMessageDialog(null, ex.getMessage());  
          }  
    }

    public void leArquivo(){
           DataInputStream dis = new DataInputStream(new FileInputStream(arquivo));
           long data = dis.readChars();
           System.out.println(data);
           dis.close();
    }
}

Vc já pensou em utilizar a raiz de seu pacote, digo, a mesma pasta onde seu .jar estiver instalado. Desculpe, realmente não sei sua real necessidade, mas, por exemplo, após compilado, seu código possivelmente estará em uma estrutura que pode não haver uma pasta “src”…

Sim sim, e esse eh o problema…eu consigo gerar esse arquivo em qquer lugar, menos dentro do package a naum ser q passe o path completo dele como disse: /src/package/arquivo.txt…Entaum a solucao q eu estou procurando eh como criar esse arquivo.txt dentro do pacote no jar, pq qdo crio o jar deixa de existir o src…entende ???

Basicamente, o q eu preciso eh criar o arquivo.txt dentro do .jar depois de gerado, entende ??? Pensei q havia alguma forma de usar um getClass().getResource() para conseguir criar dentro do .jar mas ainda naum encontrei, vou acabar msm tendo q manter o arquivo na raiz do projeto.

Li em um forum algo sobre descompactar o .jar e tals, pegar o dir do projeto e criar o pacote dentro, mas ainda naum consegui fazer…estou tentando aqui.

qquer dica, aguardo.

obrigado.

Eu nunca fiz isso, mas o jar é um zip, se você descompactar em algum lugar jogar o arquivo lá e compactar novamente e renomear com .jar deve funcionar…

Mas repense o que esta fazendo, as vezes o melhor caminho é um caminho diferente …

[]s

o jar do próprio programa que está sendo executado?

se for isso não tenho certeza mas desconfio que você não conseguirá mecher nele, alterar, uma vez que para o SO ele está “sendo usado”…

pelo class.getResourceasStream você consegue ler ele passando o endereço correto, que seria /pacote/arquivo. Normalmente isso é usado para ler arquivos de propriedades ou imagens em aplicaçpões swing por exemplo…