julio 20, 2012

String y char, Un análisis detallado

Esta ocasión hablaremos de letras y números. Haremos un análisis detallado del comportamiento de las cadenas de caracteres String y los caracteres char. Como ya sabemos una cadena de caracteres String en java es manejado como un objeto, una cadena de caracteres va entre comillas dobles, como: "Buenas Intenciones", a diferencia de un char (que no es un objeto) es un tipo de dato primitivo y este va entre comillas simples, como 'B'.

Una cadena de caracteres al ser un objeto, tiene metodos que podemos invocar, por ejemplo en una instruccion para mostrar un mensaje en consola:
System.out.println("buenas intenciones".toUpperCase());
La cadena de caracteres "buenas intenciones" esta llamando a su método toUpperCase() que hace que el mensaje se muestre en mayúsculas.

Los char en cambio aunque se escriben literales, en realidad son valores numéricos enteros, basados en el código ASCII (pronunciado "Asqui"); Por ejemplo el char 'B' en realidad es el numero: 66 (Al final del post dejo la tabla del código ASCII para su apoyo). Entendiendo las diferencias entre String "A" y char 'A' podemos sacar provecho de esto y jugar con ambos... ¡Hagamos código!.
//Archivo: DemoCaracteres.java

public class DemoCaracteres {
    
    public static void main(String args[]){
        
        //Concatenando un int y un string
        System.out.println("Usando un String:");
        for(int contador=0; contador < 5; contador++)
            System.out.println(contador+"A");
        
        System.out.println("\nUsando un char:");
        //Otra prueba; Concatenando char y string
        for(int contador=0; contador < 5; contador++)
            System.out.println(contador+'A');
    }
}
En el programa anterior, hacemos dos experimentos, uno para ver el comportamiento de los String y el otro para mostrar como se comporta un char.

julio 13, 2012

Leer un archivo linea por linea

Esta semana empezamos con nuevas cosas y a emplear nuevas estrategias para hacer mejores publicaciones, en este vídeo tutorial veremos como hacer una clase la cual, al ser implementada podrá leer un archivo .txt linea por linea, el tutorial esta dividido en dos vídeos, a continuación les dejo la primera parte del tutorial, que trata sobre la creación de la clase Archivo.



Esta es la clase Archivo por si quieren implementarla en su computadora.


package TutorialArchivo;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
/**
 * Archivo: Archivo.jva
 * @author Bello Cerecero
 */
public class Archivo 
{
    private File archivo;
    private FileReader archivoLector;
    private BufferedReader buferLector;
    private String linea;
    
    public Archivo(String rutaArchivo)
    {
      archivo = new File(rutaArchivo);
      try 
      {
        archivoLector = new FileReader(archivo);
      } catch (FileNotFoundException error) 
       {
         System.out.println(error.getMessage());
       }
      buferLector = new BufferedReader(archivoLector);
    }
    
    public String leerLinea() throws IOException
    {
      while(buferLector.ready())
      {
        if(!(linea = buferLector.readLine()).equals("\000"))
        return linea;
      }
      buferLector.close();
      return null;
    }
}
Y este es la segunda parte del vídeo tutorial, aquí veremos como implementar la clase Archivo.


Esta es la clase PruebaArchivo.

package TutorialArchivo;
import java.io.IOException;
/**
 * Archivo: PruebaArchivo.java
 * @author Bello Cerecero
 * @since 11/07/2012
 */
public class PruebaArchivo 
{
    public static void main(String[] args) throws IOException 
    {
      Archivo archivo = new Archivo("BI.txt");
      System.out.println(archivo.leerLinea());
      System.out.println(archivo.leerLinea());
      System.out.println(archivo.leerLinea());
    }
}