GUJ Discussões   :   últimos tópicos   |   categorias   |   GUJ Respostas

Abrir arquivo e verificar se existe uma certa palavra


#1

Boa Tarde a todos do Guj.

Eu estou com um problema com um projeto da facu.

Eu tenho que abrir um arquivo, ler os seus 128 últimos caracteres e verificar se uma certa palavra existe.

Exemplo:

Eu abro um arquivo, vou para suas ultimas 128 palavra e procuro JAVA, se Java existir eu dou um Substring para apagar estas 128 palavra.

Eu consigo abrir o arquivo mais não consigo fazer a verificação se ela existe ou não.

Se alguém souber como ajudar, agradeceria muito.

[]s


#2

Se você abre o arquivo e armazena seu conteúdo numa String, pode usar o comando substring(int, int) para pegar os 128 últimos caracteres e armazenar numa sgunda String. E a partir do método contains você verifica se determinda palavra existe.


#3

Use java.io.RandomAccessFile para poder ler um arquivo, pegando seus 128 últimos bytes.
(Dica: você vai precisar dos métodos "length", "seek" e "read" de RandomAccessFile).

A seguir, converta esses bytes para uma string, e procure a palavra com indexOf.


#4

Obrigado pelas respostas.

Eu abro o arquivo com o JFileChooser e esse arquivo é armazenado em um Jlist.

A partir disto, se o usuário clica no Jlist o arquivo teria que ser aberto e eu realizar as funções ja mencionadas.

Como que eu faço para realizar as funções?


#5

posta o codigo que parece ser interessante!!?


#6

Kubin, no momento eu não posso colocar o código pois é referente ao meu Projeto Final, mais quando ele acabar eu posto aqui o código e o Jar.

Eai galera ninguém sabe como me ajudar?


#7

ue faça um outro novo codigo coma mesma logica porem altere variaveis, metodos etc... e nao eh necessario por todo o codigo apenas na parte que tem duvida...

recomendacoes:
1. abrir o arquivo e copiar o conteudo para o ArrayList de preferencia usar Set para evitar para palavras repetidas e dai vc faz a busca
2. usar o recurso de regex para encontrar


#8

Bom, eu disse qual é a classe e os métodos. Basta olhar a documentação de RandomAccessFile e de String.

Pseudo-código:
- Abrir o arquivo com RandomAccessFile
- Determinar o tamanho (length)
- Ir (seek) para a posição length - 128, que é de onde você vai começar a ler
- Criar um array de 128 bytes
- Ler esse array com read
- Fechar o arquivo (close)
- A seguir, converta esse array em uma string usando o construtor da classe String que aceita um array de bytes
- Uma vez com a string pronta, use indexOf para procurar a string desejada. Se indexOf retornar -1, você não conseguiu achar o valor desejado. Senão, indexOf retornou a posição dentro da string que foi lida do arquivo.


#9

Thingol muito obrigado pela sua resposta, eu vou fazer isso que vc falou.

[]s


#10