Input / Output (Entrada/Salida) en Java: El método más fácil de captura para aplicaciones de consola
Hay dos tipos de programas en Java; los Applet y las Aplicaciones.
Para compilar una aplicación debe hacerse desde la consola, o desde el BlueJ (si no lo tienes consíguelo desde http://www.bluej.org) que es en el que estamos trabajando, pero no se corre como un Applet; La diferencia entre estos dos es que el Applet es una aplicación grafica, muy parecida a las ventanas en Windows que trabaja con la AWT de java y las aplicaciones que son mas parecidas a los programas en C++, por ahora se vera como crear una aplicación:
Para compilarlo desde la consola:
>Ve a la carpeta (desde la consola, si no sabes que es, ve al al glosario al final del articulo, ahi se explica que es y como acceder) donde tienes guardado el archivo .java (que con anterioridad escribiste en un editor de texto y lo guardaste con esta extensión) y escribe:
javac nombreDeLaAplicacion.java
O escribe el código en una nueva clase en BlueJ y clickea sobre el botón que dice “Compile” a extremo superior izquierdo de la ventana de código.
El código que debe tener esta aplicación que haremos es el siguiente (Donde se escribe una cadena y la imprime después):
import java.io.*; // Se importa la librería para las funciones de I/O
public class cadena { //declaración de la clase
public static void main( String args[] ) throws IOException { // IOException debe ser usado para poder imprimir/capturar datos
BufferedReader nombreDelBuffer = new BufferedReader(new InputStreamReader(System.in)); // Se declara un BufferedReader seguido del nombre del buffer, esto indica que se va a tomar un valor
String cadenaACapturar = nombreDelBuffer.readLine(); // Se guarda lo tomado con el método readLine() relacionado con el buffer que en este caso se llama nombreDelBuffer
System.out.println(“La cadena que escribiste es: \n”+cadenaACapturar); // Imprime la cadena y la variable cadenaACapturar que es donde guardamos lo capturado desde el teclado
}//Fin del método main
}// Fin de la clase
* NOTA: si la clase va a ser pública y la vas a compilar desde la consola (MS DOS) tienes que guardar el archivo con el mismo nombre que pusiste después de
public class si no declaras que es public “puedes” NO guardarlo con el mismo nombre. Solamente que el .class que se generará, si el código esta correcto, de la forma que indicaste después de public class
Para ejecutar una aplicación ya compilada:
>Ingresar (desde la consola) a la carpeta donde se tiene archivado el .class
>Una vez dentro del directorio escribe:
java nombreDeLaAplicacion (sin extension)
>Una vez hecho esto se debería de ejecutar el programa.
ERRORES MÁS COMUNES:
->Exception in thread “main” java.lang.NoClassDefFoundError: “nombreDeLaAplicacion”
Este error puede ser causado por dos cosas:
1.- Declaraste el método principal main de una forma incorrecta.
2.- La ruta de la variable de entorno no esta bien definida.
Para solución del primer punto se debe revisar que la sintaxis del método es correcta. Habiendo hecho esto y sabiendo que esta correcta, se elimina esta posibilidad y solo queda la segunda.
Para solucionar esto en puedes cambiar la variable de entorno. O, en su defecto algo más sencillo, en vez de escribir lo habitual para ejecutar la aplicación(ya antes explicado):
Escribe en la consola desde el directorio que contiene el archivo .class:
java –classpath . nombreDeLaAplicacion (sin extensión)
Esto debería solucionara tu problema.
->“java” no se reconoce como un comando interno o externo, programa o archivo por lotes ejecutable.
Si recibes este error es por que no tienes definida la variable de entorno PATH, si es así este error te ha de haber aparecido al momento de compilarlo, a menos claro que no lo hayas compilado desde la consola. Para arreglar esto se escribe
PATH = %PATH%;”Ruta_donde_tienes_instalado_el_JDK\bin”
Glosario:
*Consola – (Ventana de comandos) MS DOS en el caso de Windows para acceder a ella en:
Windows XP: inicio > ejecutar > cmd (y pulsar Enter)
Windows ME: inicio > ejecutar> command (y pulsar Enter)
*Directorio – Carpeta
*Browser – Ventana donde se puede acceder a sitios Web. Dentro de este término entran lo que es el InternetExplorer y Mozilla Firefox entre otros.
*Buffer – Termino que se utiliza para decir que es algo que guarda temporalmente datos (llámese buffer a cualquier tipo de carga, aquí en una variable u otro buen ejemplo seria el de cuando se quiere ver un video online desde el Browser y se esta cargando el video pero de mientras podemos empezar a verlo, esto podría llamarse carga; pero en si lo que esta haciendo es que esta cargando los datos de el video en un buffer temporal el cual te mostrara el video.)
*Ruta – Es la dirección de una carpeta / archivo dentro de un dispositivo de almacenamiento.
*OS (SO) – Operating System (Sistema operativo), [Windows, Linux, etc].
*Variable de entorno – Se llaman de esta manera a las variables que vienen definidas en el OS, las cuales son y sirven para el funcionamiento de este sistema operativo, estas si deseas puedes modificarlas, lo cual no es muy recomendable si no sabes lo que haces, pues al cambiar alguna variable se podría modificar todo el funcionamiento del sistema; Las variables de entorno en Windows XP se accedan desde: panel de control > sistema > opciones avanzadas > variables de entorno
Hecho por: Daniel Nieto
(Este tutorial fue hecho para mis compañeros del cbtis, pero igual puede servir. Saludos!)

feb 02, 2008 @ 12:25:50
me sirvio de cierta manera
mar 02, 2008 @ 10:00:46
hey muchas gracias me sirvio para un desenvale
jul 02, 2008 @ 12:55:40
Gracias, me ha servido!!
nov 08, 2008 @ 00:06:13
oye, tengo una duda, cuando quiero compilar una clase que necesita de otra clase, que esta en otro paquete, desde consola, me marca algun tipo de error.
que debo hacer para que cuando corra esa clase, utilize las demas clases, que estan en otros paquetes??…
salu2 de antemano…
nov 13, 2008 @ 08:55:24
asdasdasasd
dic 17, 2009 @ 13:19:53
Cool, me serivió, era justo lo que estaba buscando. muchas gracias
jun 08, 2011 @ 11:32:41
Como compilo si tengo dos clases? y nesesito de una para el funcionamiento del programa?
oct 27, 2011 @ 08:12:45
Gracias me ha servido ^^