Hola!

Registrándote como bakuno podrás publicar, compartir y comunicarte en privado con otros bakuos :D

Regístrame ya!

Procedimiento en C#

toñonv

Bovino adicto
Desde
26 Sep 2009
Mensajes
704
Lo que pasa es que tengo ya el codigo funcionando pero no se para que sirven algunas cosas, cual es verdadera funcion.
Si pueden ayudarme se los agradeceria mucho.

El codigo del procedimiento es el siguiente:

public void leer_caracteres(string narchivo)
{
FileStream archivo = new FileStream(narchivo,FileMode.Open,FileAccess.Read);
char caracter = ' ';

while(archivo.Position<archivo.Length)
caracter = (char)archivo.ReadByte();
}

Porque poner (char) alli?

De antemano muchas gracias :)
 
pues segun tengo entendido a traves de las conversiones cast el char que ves ahi es por que la variable a la que se le esta asignado el valor es de tipo char, por eso se le antepone entre parentesis el tipo.

Ademas si observas el valor obtenido es del tipo byte, por lo que por ejemplo si la funciones archivo.ReadByte() retorna 64 el caracter a colocar es el @
 
Esta convirtiendo de forma explícita (o cast) de byte a char.

No tiene mucho sentido el código. ¿Realmente quieres ir recorriendo byte por byte el archivo leyendo cada caracter pero sin hacer nada con el?

Saludos
----------
http://chico-ch.com
 
Y el parametro de la primera linea es independiente del codigo que tengo arriba (no posteado)?
 
Esta convirtiendo de forma explícita (o cast) de byte a char.

No tiene mucho sentido el código. ¿Realmente quieres ir recorriendo byte por byte el archivo leyendo cada caracter pero sin hacer nada con el?

Saludos
----------
http://chico-ch.com

Si solo quiero que recorra caracter por caracter. GRACIAS!!!
 
Efectivamente lo que se está haciendo es un 'casting' que equivale a una transformación explícita de datos (i.e. es como si obligaras a que se transforme a un tipo 'char').
 
Te dejo otra forma de hacerlo utilizando la clase StreamReader, la cual te brinda un abanico más grande de funcionalidad.

public void LeeCaracteres(string nombreArchivo)
{
// Producirá una excepción si el archivo no existe
FileStream fs = new FileStream(nombreArchivo, FileMode.Open);
StreamReader sr = new StreamReader(fs);

string linea = "";

while(!sr.EndOfStream){
linea = sr.ReadLine();
char[] caracteres = linea.ToCharArray();

foreach (char c in caracteres)
{
// Hacer algo con los caracteres leídos
Console.WriteLine("Char leido: {0}", c);
}

}
}

Saludos desde México...
 
Te dejo otra forma de hacerlo utilizando la clase StreamReader, la cual te brinda un abanico más grande de funcionalidad.

public void LeeCaracteres(string nombreArchivo)
{
// Producirá una excepción si el archivo no existe
FileStream fs = new FileStream(nombreArchivo, FileMode.Open);
StreamReader sr = new StreamReader(fs);

string linea = "";

while(!sr.EndOfStream){
linea = sr.ReadLine();
char[] caracteres = linea.ToCharArray();

foreach (char c in caracteres)
{
// Hacer algo con los caracteres leídos
Console.WriteLine("Char leido: {0}", c);
}

}
}

Saludos desde México...

Si, este lo hicimos primero que el posteado.

De igual manera muchas gracias por tu ayuda. Saludos desde Sinaloa, México !!!
 
Volver
Arriba