Contar lineas de código! programa
Hola, hace poco el buen Chiapaneko publicó en su blog que haría un programa que contara las líneas de código de x lenguaje de programación, el lo crearía en C#, pero me tomé la curiosidad de crearlo en Java ya que es lo que actualmente "uso". así que les pongo el código y también les sirva en algo.
Indicación:
El programa no contará los espacios en blanco, los comentarios ( "//" o "/" */")
//hecho por hcortes
///código obtenido de hcortes.blogsome.com
import java.io.;
class leer
{
public static void main(String ars[])throws IOException
{
BufferedReader archivo=new BufferedReader(new InputStreamReader(System.in));
String fichero;
System.out.println("Escribe el nombre completo o ruta del archivo [.java]: ");
fichero=archivo.readLine();
fichero=fichero.trim();
int con=0;
int es=0;
if (fichero.length()==0)
System.out.println("No se escribio el nombre del archivo");
else
{
File nuevo;
nuevo=new File(fichero);
if (nuevo.exists())
{
BufferedReader reader= new BufferedReader(new FileReader(fichero));
//leer una linea del archivo y guardarla en linea
String linea= reader.readLine();
while(linea!=null )
{
if (linea.trim().length()==0)
{
linea=reader.readLine();
}
else
{
if (linea.trim().startsWith("//"))
{
linea=reader.readLine();
}
else
{
if(linea.trim().startsWith("/"))
{
es=1;
}
if(linea.trim().endsWith("/")){
es=0;
linea=reader.readLine();
}
else
{
if (es==1)
{
linea=reader.readLine();
}
else
{
con++;
linea= reader.readLine();
}
}
}
}
}
System.out.println("El archivo tiene "+(con) +" lineas ");
}
else
{
System.out.println("El archivo no existe");
}
System.out.println("nHecho por hcortes");
}
}
}
Nota:Si el programa presenta algún error; corrijanlo y me lo informan!! 




Hola que tal, ya probe tu contador de lineas de código, pero tengo problemas para entender el código de tu programa, no se si me puedas ayudar con eso, por ejemplo la instruccion .trim para que la usas, etc.
Saludos.
Comment by Arturo Frias — October 6, 2007 @ 3:55 am
q tal, la funcion .trim sirve para quitar los espacios en blanco al inicio y final de la cadena a leer.
primero verifica que la linea a analizar no esté vacía, si no está vacía, compara si inicia (.startsWith) con “//” que son los comentarios, si es así se salta esa línea del archivo. el siguiente caso es un comentario de tipo /¨* */, si encuentra un comentario así, debemos tomar en cuenta que el comentario podría abarcar varías líneas, por eso se pone el valor “es=1” que indica que tenemos un comentario y que todas las líneas serán comentario hasta que una línea (q podría ser la misma donde inició el comentario) termine con “/” y el valor de “es” será 0, y si no sucede ninguno d estos casos, tenemos que la cadena analizada no es de tipo comentario ni en blanco y el contador aumentará 1.
Espero quede entendible je. suerte
Comment by hcortes — October 6, 2007 @ 4:10 am
cuando me pide el nombre completo o ruta del archivo, tengo entendido que debería teclearlo (por ejemplo) de la sig. manera:
C:leerarchivo.java
pero incluso intentando escribir el nombre del archivo de otra manera siempre me manda el mensaje de que el archivo no existe. entonces como debo teclear la ruta?
gracias
Comment by Vortex — October 14, 2007 @ 4:07 am
el comment no imprimió las diagonales inversas, sería
C : diag diag
Comment by Vortex — October 14, 2007 @ 4:08 am
q tal, si el archivo está en la misma carpeta que el archivo “leer.class” sólo debes escribir el nombre sin diagonal, por ejemplo: “miPrograma.java” únicamente, suerte!!
Comment by hcortes — October 14, 2007 @ 5:10 am
Gracias por este programa me ayudó muchisimo en una tarea
Comment by Irinea — October 16, 2007 @ 12:06 am
Me puedes pasar tu programa pero en c++
Comment by ignacion barcenas — November 3, 2007 @ 10:01 pm
SOLO QUERIA DECIRTE QUE EL CODIGO PARA CONTAR LINEAS DE CODIGO EN JAVA ME FUE MUY UTIL PERO SABES AHORA LO NECESITO EN C# Y LA VERDAD NO SE COMO IMPLEMENTARLO, TE AGRADECERIA QUE ME LO TUVIERAS DISPONIBLE
Comment by gaby — November 14, 2007 @ 11:26 pm
oye tengo un problema necesito realizar un programa en c++ con pilas el cual es un juego de la loteria
Comment by fer — October 20, 2008 @ 6:55 pm