PREGUNTAS CONTESTADAS - Java

 Hay un total de 630 Preguntas.<<  >> 

    Pregunta:  30292 - IMPORTACIóN DE ARCHIVOS EN JAVA
Autor:  Manuel Rondón García
Cuando introduzco en la primera línea del código fuente en java:

package clases;
public clase primero
{
// cuerpo de la clase
}

No me lo graba en el directorio de la variable de entorno "classpath":
set classpath=.;c:\jv;
Añadida en el archivo "autoexec.bat".

Cuando lo importo desde otro archivo después:

import clases.*;
public clase segundo
{
// cuerpo de la clase
}

No lo importa. Pero hace otra cosa. Los archivos que va a ser importados los carga, aunque no estén compilados, parece que los compile también si encuentra su código fuente.

¿Hay alguna forma de que al hacer "package" pueda compilarlos en ese directorio? ¿Qué es lo que se me pasa por alto?
  Respuesta:  Rafael Hernamperez Martin
Hola, compañero,

Por lo que deduzco, parece que lo haces mediante el compilador java (sin interfaz o IDE). Cuando compilas, el compilador java crea primero el directorio del package (en este caso 'clases') y dentro de este genera la clase.

En tu caso deberías situarte en el directorio anterior a 'clases' (es decir, en 'c:\jv'), y desde aqui compilar.

No obstante, para evitar problemas, te recomendaria utilizar un IDE, tal como Forte4Java, IBM Visual Age for Java, JBuilder o Kawa, ya que la gestion de paquetes y su compilacion es automatica.

Un saludo

    Pregunta:  30441 - EXTRAER OBJETOS LARGOS DE UN RESULTSET
Autor:  David
Tengo una BD postgreSQL, y en una de sus tablas almaceno, en un objeto OID, fotos de los usuarios de una aplicacion java, que es la que accede a ella. Hasta ahora extraía las imágenes de esta forma:

ResultSet oid=sentencia.executeQuery(\"SELECT foto FROM fotos where nif =\'lo que sea\';\");
oid.next();
int a=sentencia.executeQuery(\"SELECT lo_export(\'\"+oid.getString(1)+\"\',\'/ruta/foto.gif\');\");

Esto solo me sirve en el ordenador en el que está la base de datos, ya que lo_import parece trabajar localmente (en el sistema de ficheros del servidor de base de datos).
Como puedo extraer la imagen del resultset y vincularla directamente, por ejemplo, a un imageIcon??
Gracias
  Respuesta:  David de Lorenzo Díez
A ver, como nadie quiere ser mi amigo os lo digo... Si conseguis el driver JDBC más moderno disponible no tendreis problemas.

Para importar la foto a la base de datos: usad lo_import (esto es fácil así q no digo más)
Para extraer la foto= haceis la select de esta forma
Resulset res=conexion.executeQuery( SELECT foto FROM tabla_fotos WHERE...) Foto es un campo del tipo OID.
El objeto resulset tiene un método que con el driver actualizado funciona bien, que es getBytes(); haced lo siguiente

byte bytesFoto[]= res.getBytes(1); //Primera columna del resultset donde está foto
.....
y ya mas tarde

Icon t=new ImageIcon(bytesFoto);
Si en la BD metísteis una foto del tipo gif o jpg no tendreis problemas...

    Pregunta:  30751 - DUPLICADO DE ARCHIVOS A PARTIR DE UNO DADO EN J++
Autor:  Luis Sánchez González
Hola,

Estoy realizando un proyecto en Visual J++ 6.0 y necesito generar las salidas del programa en varios ficheros html.

Dispongo de un archivo a modo de plantilla sobre la que ir insertando las salidas del programa.

La cuestión es que necesito generar una copia de ese fichero plantilla para luego realizar las modificaciones necesarias sobre la copia.

¿Como se generan, borran, mueven archivos externos mediante comandos? Lo he intentado con la clase File, pero no obtengo resultados.

Gracias
  Respuesta:  Raul Ramirez Bazán
recuerda que los objetos son referencias.
lo único que tienes que hacer es copiar los bytes de tu plantilla al destino que deseas.
Diseñé la siguiente clase (FileCopy) para que puedas transferir Copiando los bytes del \"Archivo Fuente\" al \"Archivo Destino\".
El algoritmo principal lo puse en el Constructor.
Ya tu la modificarás a tus necesidades:

//Codigo elaborado por Raúl Ramírez Bazán [email protected]
//Por favor, el Código debe ser Siempre compartido
//Pero nunca dejes de Codiciar el Conocimiento.

import java.io.*;

public class FileCopy{

private FileInputStream fileIn;
private FileOutputStream fileOut;

public FileCopy(String nameSource, String nameDestiny){
try{
fileIn= new FileInputStream(new File(nameSource));
fileOut= new FileOutputStream(new File(nameDestiny));
byte[] b= new byte[fileIn.available()];
fileIn.read(b);
fileOut.write(b);

}catch(Exception err){
System.out.println(err.toString());
}finally{
try{
fileIn.close();
fileOut.close();
}catch(Exception errClose){
System.out.println(errClose.toString());
}
}
}
public static void main(String[] args){
FileCopy p= new FileCopy(args[0], args[1]);
}
}

Espero que no sea tarde o mejor, que ya lo hayas descubierto por ti mismo.

    Pregunta:  30809 - GUARDAR IMAGEN A DISCO COMO JPEG
Autor:  Abel
Me gustaría saber como guardar la imagen almacenada en un BufferedImge en disco en formato jpeg o gif
Muchas gracias
  Respuesta:  Abel
He encontrado esto en un foro de noticias, no lo he probado pero me imagino que funcionará:

Este codigo guarda un JPEG. Esto es de la parte OSCURA de la api de Java.
Solo te paso el trozo codigo con ciertos tags <<>> que debes substiruir por lo falte.
Seguro que hay otra forma de hacerlo mas eficiente, pero esta seguro que ya te sirve. Que la fuerza te acompañe.

Xmas

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.awt.image.*;
import java.io.*;
import com.sun.image.codec.jpeg.*; // OSCURO, MUY OSCURO

....

ImageIcon img=new ImageIcon(<<IMAGE>>);

while(img.getImageLoadStatus()==MediaTracker.LOADING) {};

if(img.getImageLoadStatus()!=MediaTracker.COMPLETE)
throw new Exception("No es posible leer la imagen");

int width=img.getIconWidth();
int height=img.getIconHeight();

BufferedImage bimg = new
BufferedImage(width,height,BufferedImage.TYPE_INT_RGB);

Graphics2D g = (Graphics2D)bimg.getGraphics();

// Mandamos a dibujamos la imagen
g.drawImage(img.getImage(),0,0,<<ImageObserver>>);

java.io.FileOutputStream fos=new java.io.FileOutputStream(<<FILENAME.JPG>>);

JPEGImageEncoder jpeg = JPEGCodec.createJPEGEncoder(fos);
jpeg.encode(bimg);

fos.flush();
fos.close();

    Pregunta:  31535 - DETERMINAR TIPO DE TRIANGULO
Autor:  Alvaro Etcheberry
//estoy recién empezando a programar en java y no puedo descubrir el problema que tengo con el buffer de lectura.
El programa pretende que se ingresen por teclado los lados de un triangulo y determinar si es escaleno, equilatero o isosceles.

import java.io.*;
public class Triangulo {
public static void main(String Args[])throws Exception{
int a;
int b;
int c;
BufferedReader bf=new BufferedReader(new InputStreamReader(System.in));
a=Integer.ParseInt(bf.readLine());
b=Integer.ParseInt(bf.readLine());
c=Integer.ParseInt(bf.readLine());
If ((a==b)!(a==c));
System.out.println("Trángulo es equilatero");
If (((a!=b)!(a!=c))!((b!=c)));
System.out.println("Trángulo es escaleno");
If ((a==b)!(c!=a));
System.out.println("Trángulo es isosceles");
If((a==c)!(b!=a));
System.out.println("Trángulo es isosceles");
If((b==c)!(a!=b));
System.out.println("Trángulo es isosceles");
}
}
  Respuesta:  Daniel Moniz
// Yo haria ese programa de la siguiente manera:

import java.io.*;
public class Triangulo {
public static void main(String args[]) {

try {

int a = 0, b = 0, c = 0; // Necesitas declarar las variables y asignarles un
// valor principal que en este caso seria 0

String numero;

DataInputStream entrada = new DataInputStream(System.in);

try {
System.out.print("Introduce el lado a ->");
numero = entrada.readLine();
a= Integer.parseInt(numero);
} catch (NumberFormatException e) {System.out.println("Usted no Introdujo un numero");}

try {
System.out.print("Introduce el lado b ->");
numero = entrada.readLine();
b= Integer.parseInt(numero);
} catch (NumberFormatException e) {System.out.println("Usted no Introdujo un numero");}

try {
System.out.print("Introduce el lado c ->");
numero = entrada.readLine();
c= Integer.parseInt(numero);
} catch (NumberFormatException e) {System.out.println("Usted no Introdujo un numero");}

if ((a==b)||(a==c)) {
System.out.println("Triangulo es equilatero"); } else

if ((a!=b)||(a!=c)||(b!=c)){
System.out.println("Triangulo es escaleno"); } else

if ((a==b)||(c!=a)){
System.out.println("Triangulo es isosceles"); } else

if((a==c)||(b!=a)){
System.out.println("Triangulo es isosceles"); } else

if((b==c)||(a!=b)){
System.out.println("Triangulo es isosceles"); }

} catch (IOException e) {} // Cierre del Try
} // Cierre del public static void
} // Cierre del Programa

/* NOTA: El uso del "if" es en minusculas no "If" sino "if".
ejemplo: if (a=b) { operacioness....} else
if (a=c) { }

NOTA 1: No se usa el "!" como operador "y", sino se usa "||", el signo de exclamacion es para diferente de "!=" o cosas asi

Este programa lo probe y funciona correctamente.... cualquier cosa o duda que tengas no dudes en escribirme a mi email y yo te ayudare, no soy un experto pero tampoco soy un novato, se lo esencial de este lenguaje.
*/

    Pregunta:  31563 - CóMO SE DESPLIEGA UN EJB (.JAR) EN EL IPLANET
Autor:  raul arranz
dentro de la herramienta de despliegue de iplanet no sé cómo insertar fichero .class (pertenecientes a mis EJB) en un ficher jar.

insertar war y ear si lo controlo, peor los jar es tarea difícil.

Si alguien sabe algo estaría agradecidísimo....
  Respuesta:  manru
Hola:

Todos (war, ear y jar) son archivos zip.
Prueba cambiarle la extension a zip y intenta abrirlos con el Winzip

Saludos

    Pregunta:  31660 - COMO CAMBIAR DE COLOR A LA BARRA DE MENUS
Autor:  Juan P Salinas
estoy trabajando en frames y queria cambiar de color a la barra de menus para que sea mas presentable con el color de fondo de pantalla, pero no he podido. si alguien sabe seria increible que me digan como.
  Respuesta:  Rafael Hernamperez Martin
Hola, compañero,

Supongo, por lo que comentas, que estas utilizando AWT. De esa manera no podrias modificar el color de los menus.

Sin embargo, utilizando SWING, SI podrias modificar el color de fondo, gracias al metodo setBackground, como muestra el siguiente ejemplo:

import java.awt.*;
import javax.swing.*;

public class Frame1 extends JFrame {
JMenuBar jMenuBar1 = new JMenuBar();
JMenu jMenu1 = new JMenu();
JMenuItem jMenuItem1 = new JMenuItem();
JMenuItem jMenuItem2 = new JMenuItem();

public Frame1() {
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
Frame1 frame1 = new Frame1();
}
private void jbInit() throws Exception {
jMenu1.setBackground(Color.red);
jMenu1.setText("Menu1");
jMenuItem1.setText("SubMenu1");
jMenuItem2.setText("SubMenu2");
jMenuBar1.add(jMenu1);
jMenu1.add(jMenuItem1);
jMenu1.add(jMenuItem2);
}
}

Un saludo

    Pregunta:  31739 - CONFIGURAR EL SERVIDOR PARA JSP
Autor:  Daniel B.
he estado mirado JSP me gustaria saber como configurar en mi PC (Win2000 Server) el servidor web para las paginas JSP, de SUN baje el jswdk-1.0.1 y siguiendo las instrucciones corri el BAT de iniciar servicio y le doy la ruta en el navegador http://NOMBREMAQUINA:8080/EJEMPLOS/pag8.jsp y no me coore sera que ustedes me pueden colaborar.

Gracia.
  Respuesta:  J RC
Lo primero que debes hacer es comprobar el fichero webserver.xml. Aquí se definene las aplicaciones web y sus directorios base de documentos. COmprueba también si el error es el 500, ya que esto se debe a que el JSP está mal y el servidor no lo puede compilar.

    Pregunta:  31794 - MYSQL CONECTADO CON JDBC
Autor:  David Gonzalo
Deseo conectar JDBC con el motor MySQL, para ello me e informado de la pagina oficial de MySQL y de otras que el modulo mm hace esto, pero no puedo configurarlo bien. Por favor si hay alguien experimentado o alguien que sepa como hacerlo. Muchas gracias.

Tengo lo siguiente:
JDK 1.3.1
mm.mysql-2.0.11.jar

Nota: diganme todo lo que debe tener el autoexec.bat para estar seguro, por que el mio no tiene nada de java.
  Respuesta:  gianu gianu
Supongo que el problema sera que el JDK no \"ubica\" los drivers. lo que hice yo fue setear el CLASSPATH a donde esta el mm

set CLASSHPATH=c:\\la_ubicacion_mm.mysql\\

con eso ya tendria que funcionar.

P.D.: tambien tendrias que setear PATH para que incluya el directorio bin del JDK y setear JAVA_HOME a donde este java (ej.: set JAVA_HOME=c:\\jdk1.3.1\\)

    Pregunta:  31816 - SABER SI UN GRAFO ES BIPARTIDO EN JAVASCRIPT
Autor:  WARNER FERNANDO VALENCIA
Soy un estudiante de Ing. de Sistemas que necesita el codigo para determinar si un grafo es bipartido o no.
de ante mano gracias a quien pueda ayudarme.
  Respuesta:  José M. Galea Y.
Lo que debes hacer es ver si los nodos de un lado no se comunican entre sí, y los nodos del otro lado tampoco se comunican entre sí. Y si los nodos de un lado se comunican solo con los del otro lado, entonces si es bipartito.

|<  <<  30 31 32 33 34 35 36 37 38 39 40  >>  >|