elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  algún buffer en java que me permita leer hacia atrás? utilizo BufferedReader
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: algún buffer en java que me permita leer hacia atrás? utilizo BufferedReader  (Leído 7,871 veces)
kinos

Desconectado Desconectado

Mensajes: 104



Ver Perfil
algún buffer en java que me permita leer hacia atrás? utilizo BufferedReader
« en: 31 Julio 2009, 02:51 am »

Hola, estoy cargando una pagina en un bufferedReader y leo caracter a caracter simplemente con:

char car = documento.read();// y me guarda el caracter

El problema es que quiero leer hacia atrás. ¿Cómo puedo hacer eso?


En línea

Nakp
casi es
Ex-Staff
*
Desconectado Desconectado

Mensajes: 6.336

he vuelto :)


Ver Perfil WWW
Re: algún buffer en java que me permita leer hacia atrás? utilizo BufferedReader
« Respuesta #1 en: 31 Julio 2009, 05:47 am »

pues te sientas de espaldas al monitor :rolleyes:

podrías ser más específico?


En línea

Ojo por ojo, y el mundo acabará ciego.
Danther

Desconectado Desconectado

Mensajes: 26



Ver Perfil
Re: algún buffer en java que me permita leer hacia atrás? utilizo BufferedReader
« Respuesta #2 en: 31 Julio 2009, 11:12 am »

Si te refieres a leer la pagina empezando desde el ultimo caracter y hacia atras....
¿No te sería mas facil ir concatenando con readLine() y luego invertir la cadena con reverse()?
Luego si quieres puedes leer esa cadena caracter a caracter ^^
En línea

kinos

Desconectado Desconectado

Mensajes: 104



Ver Perfil
Re: algún buffer en java que me permita leer hacia atrás? utilizo BufferedReader
« Respuesta #3 en: 31 Julio 2009, 21:21 pm »

A ver, la cuestión es... voy leyendo de la pagina caracter a caracter con char documento.read() entonces cuando encuentro una almoadilla por ejemplo "#" me gustaría leer hacia atrás pero con el bufferedreader no se puede.
Una forma de hacerlo es:

vas leyendo, encuentras el comienzo de una cadena y guardas la posición con documento.mark() sigues leyendo, si encuentras el caracter que busco comienzo a leer la cadena de nuevo con documento.reset() --> así vuelve al comienzo de la cadena y la puedo leer entera.
sino encuentra # que siga leyendo hasta que encuentre el comienzo de otra cadena y guarde la posición con documento.mark() y sigues leyendo y tal.

Lo que me parece un incordio el guardar la posición cada dos por tres. Con el tema de archivos aleatorios me parece que puedes leer posicionadote en la pos. que te de la gana. Pero andar con archivos me parece un derroche de recursos...
nose que hacer..  :huh:
En línea

Danther

Desconectado Desconectado

Mensajes: 26



Ver Perfil
Re: algún buffer en java que me permita leer hacia atrás? utilizo BufferedReader
« Respuesta #4 en: 31 Julio 2009, 21:31 pm »

Me has dejado asi -> @.@
No entiendo a que te refieres con lo de "comienzo de otra cadena" ._.

Pero asi de forma general, puedes probar lo siguiente:

Vas leyendo caracter a caracter el documento, y lo vas guardando en un vector (importado de java.util.vector)
Luego ya puedes acceder a cada elemento como te de la gana, ya que estan numeraditos :3 (igual que en un array)
Sease, puedes quedarte con la posicion donde "comienza cada cadena", invertir el orden... lo que necesites
En línea

kinos

Desconectado Desconectado

Mensajes: 104



Ver Perfil
Re: algún buffer en java que me permita leer hacia atrás? utilizo BufferedReader
« Respuesta #5 en: 1 Agosto 2009, 02:40 am »

Jeje... me expreso como un libro quemado jaja..

Es que lo que comentas es redundante y si solo lo tuviese que hacer una vez lo de guardar en el vector pos no pasaba na... pero se me va a cansar el cpu  ;D

Lo bueno sería encontrar un buffer que fuese como lo de los archivos de acceso aleatorio.
Que te pones en la posición que te da la gana a leer.

archivo.seek(long pos) //te pone en la posicion que quieras
En línea

Danther

Desconectado Desconectado

Mensajes: 26



Ver Perfil
Re: algún buffer en java que me permita leer hacia atrás? utilizo BufferedReader
« Respuesta #6 en: 1 Agosto 2009, 22:04 pm »

No se, mirate esto:
http://java.sun.com/j2se/1.4.2/docs/api/java/io/RandomAccessFile.html

De todas formas el vector (con array tambien valdria) actua de forma parecida ._.

Es muy versatil, por poner un ejemplo:

-Lees el documento
-Si encuentras el "comienzo de una cadena" empiezas a copiar chars en el vector
-Si llega al final de la cadena y no ha encontrado la almohadilla, borra los elementos antiguos del vector y sigue escribiendo los nuevos chars
-Si encuentra almohadilla, tienes la cadena guardada y ya haces lo que sea que quieras hacerle a la cadena
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Pregunta sobre BufferedReader
Java
Aikanáro Anário 1 3,135 Último mensaje 28 Octubre 2011, 01:06 am
por Valkyr
Modificar reaver: 9999-9998-9997...contando hacia atras
Wireless en Linux
El_Andaluz 0 2,406 Último mensaje 18 Agosto 2013, 22:37 pm
por El_Andaluz
Duda con bufferedreader python
Scripting
SARGE553413 0 2,347 Último mensaje 15 Febrero 2014, 03:27 am
por SARGE553413
Un experimento cuántico sugiere que el tiempo puede correr hacia atrás
Noticias
wolfbcn 0 1,283 Último mensaje 10 Febrero 2015, 14:05 pm
por wolfbcn
Base de datos vuelve hacia Atras.. (Rollback SQL)
Bases de Datos
stn8 1 2,802 Último mensaje 17 Mayo 2015, 06:45 am
por ZeroVzla
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines