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

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Duda con método available()
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Duda con método available()  (Leído 7,300 veces)
novalida

Desconectado Desconectado

Mensajes: 155


Ver Perfil
Duda con método available()
« en: 10 Agosto 2009, 22:04 pm »

hola!!!
tengo el siguietne código extraído de un ejercicio de Fco. Javier Ceballos ("Java 2: Curso de programación"):
Código:
import java.io.*;

public class CTest {

public static void main (String[]args)
{
InputStreamReader isr = new InputStreamReader (System.in);
BufferedReader flujoE = new BufferedReader (isr);
PrintStream flujoS = System.out;

char car = 0;
int ncars;

try
{
flujoS.print("Caracter: ");
car = (char)flujoE.read();
flujoS.println(car);


ncars = flujoE.available();
flujoE.skip(ncars);


flujoS.print("Caracter: ");
car = (char)flujoE.read();
flujoS.print(car);
}

catch(IOException e)
{

}
}
}


el problema y duda que tengo es que la línea :
Código:
ncars = flujoE.available();

produce un error ya que el método available() no está definido para el tipo BufferedReader.

En un ejemplo del libro el código es así tal cual( no lo he modificado), sin embargo cuando intento compilar el programa me lanza el error en dicha línea. Es una errata del libro o estoy haciendo algo mal???
por otro lado he sustituido ese intento de vaciar el buffer con:
Código:
System.in.skip(System.in.available());
pero no se vacía el buffer. En este otro caso por qué no funciona el vaciado???

Gracias y espero respuesta :)


En línea

1mpuls0


Desconectado Desconectado

Mensajes: 1.186


Ver Perfil
Re: Duda con método available()
« Respuesta #1 en: 11 Agosto 2009, 06:20 am »

Hola mira no estoy seguro de que es lo que quieres hacer, lo unico que entiendo es que estas manejando entrada y salida de datos, trate de revisar tu codigo.


Citar
import java.io.*;
import java.io.FileInputStream;
import java.util.*;

public class CTestF {
   
   public static void main (String[]args)throws Exception
   {
      InputStreamReader isr = new InputStreamReader(System.in);
        BufferedReader br = new BufferedReader (isr);      
      PrintStream flujoS = System.out;
      
      InputStream iS = new FileInputStream("Hola.txt");//usando el metodo available()
      
      char car = 0;
      //int ncars;
      int tam;
      //int s1;
      //String cad="";
      
      try
      {
         //1
         flujoS.print("Caracter: ");
         car = (char)br.read();
         flujoS.println(car);
         
         //2
         tam = Integer.parseInt(br.readLine());  //el metodo readLine() pertenece a la clase BufferedReader
         br.skip(tam);
         
         //3
         tam = iS.available(); //el metodo available es de la clase InputStream
         br.skip(tam);//el metodo skip pertenecen a la clase System
         
         //4
         flujoS.print("Caracter: ");
         car = (char)br.read();
         flujoS.print(car);
         
      }catch(IOException e)
      {
         e.printStackTrace();
      }
   }
}

Me funciona...
Pero...

Lo que no entiendo es por que si dejo todo asi como está no funciona, pero si por ejemplo dejo entre comentarios 3 de ellos [cual se] si funcion  :-\

Te dejo estas paginas para que veas bien sobre estos temas.

http://www.cica.es/formacion/JavaTut/Cap8/entrada.html

http://www.java2s.com/Code/JavaAPI/java.io/FileInputStreamavailable.htm

http://www.altatorre.com/webclase/java/tramas.htm

Bueno solo espero no haberte confundido.

Saludos.



« Última modificación: 11 Agosto 2009, 06:35 am por Darhius » En línea

abc
Debci
Wiki

Desconectado Desconectado

Mensajes: 2.021


Actualizate o muere!


Ver Perfil WWW
Re: Duda con método available()
« Respuesta #2 en: 11 Agosto 2009, 15:25 pm »

si no me equivoco es objeto.isAvailable , y este devuelve un Booleano o binario tipo true o false (0 o 1), no stoy del todo seguro.

saludos
En línea

1mpuls0


Desconectado Desconectado

Mensajes: 1.186


Ver Perfil
Re: Duda con método available()
« Respuesta #3 en: 11 Agosto 2009, 16:42 pm »

http://foro.elhacker.net/java/duda_basica_con_metodo_available-t257298.0.html

¿¿¿????
En línea

abc
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Duda con un método de optimización de HD Intel Graphics
Hardware
eleon 1 1,956 Último mensaje 26 Junio 2012, 00:08 am
por Aprendiz-Oscuro
Duda sobre el método get
Java
reygecko 2 1,224 Último mensaje 16 Enero 2013, 23:49 pm
por reygecko
Duda con metodo en c#
.NET (C#, VB.NET, ASP)
axeelcs 0 925 Último mensaje 22 Abril 2014, 16:25 pm
por axeelcs
duda metodo comentar ( URGENTE ! )
Java
Juanma91 0 800 Último mensaje 18 Mayo 2014, 16:27 pm
por Juanma91
Duda python método optimización levenberg marquardt
Programación General
Quini sb 2 1,674 Último mensaje 5 Septiembre 2016, 11:44 am
por Quini sb
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines