Buenas a todos, hoy me puse a codear un pequeño codigo para capturar informacion de un sistema y compactarla para transferirla facilmente, el codigo es el siguiente:
[package main;
import java.util.Stack;
import java.util.Vector;
import jpcap.JpcapCaptor;
import jpcap.NetworkInterface;
import interacion.WebCam;
public class RecopilacionDatos {
public static Vector devices;
public static NetworkInterface[] netInterfaces;
private static String info[];
public static Vector<String> dataSistema = new Stack();
public static Vector getInformacionSistema()
{
dataSistema.add(System.getenv("COMPUTERNAME"));
dataSistema.add(System.getProperty("user.name"));
dataSistema.add(System.getenv("PROCESSOR_IDENTIFIER"));
dataSistema.add(System.getProperty("os.name"));
dataSistema.add(System.getProperty("user.dir"));
dataSistema.add("1");
devices = WebCam.getDispositivos();
if(devices.size() == 0)
{
dataSistema.add("false");
}else{
for(int i=0;i<devices.size();i++)
{
dataSistema.add(" |- "+devices.elementAt(i));
}
}
dataSistema.add("2");
netInterfaces = JpcapCaptor.getDeviceList();
if(netInterfaces.length == 0)
{
dataSistema.add("false");
}else{
for (int i = 0; i < netInterfaces.length; i++)
{
if(i == (netInterfaces.length -1))
{
dataSistema.add(" |_ "+netInterfaces[i].name + "\n");
}else{
dataSistema.add(" |- "+netInterfaces[i].name);
}
}
}
return dataSistema;
}
}/code]
Y me bota una nullpointerexception cuando añado la primera cadena al vector:
[code=java]dataSistema.add(System.getenv("COMPUTERNAME"));
Lo que hago luego con el vector que me devuelve esta funcion es recorrerlo y mostrarlo ordenador por pantalla (de entrada ya puedo enviarlo por un stream de algun socket por ejemplo :D)
Espero que puedan ver lo que ocurre, es tarde y ya no atino.
Gracias :D
SOLUCIONADO: MI cabezota se olvidó de inicializar el objeto xDDD
Saludos[/code]
Hola
System.getenv("COMPUTERNAME")
existe esa variable del sistema?
bueno lo que prodrias colocar para evitar tu problema
String compu = System.getenv("COMPUTERNAME");
dataSistema.add(((compu==null)?"(null)":compu));
Y me di cuenta de esto cuando te escribia lo anterior
private static Vector dataSistema;
En que momento inicializas la variable?
Si no tienes un constructor podrias hacer.
private static Vector dataSistema = new Vector();
Saludos
EDIT:
Personalmente no me gusta la forma que envias los datos, podrias estructurar más la forma de enviar los datos. Saludos
Cita de: egyware en 6 Agosto 2010, 00:14 AM
Hola
System.getenv("COMPUTERNAME")
existe esa variable del sistema?
bueno lo que prodrias colocar para evitar tu problema
String compu = System.getenv("COMPUTERNAME");
dataSistema.add(((compu==null)?"(null)":compu));
Y me di cuenta de esto cuando te escribia lo anterior
private static Vector dataSistema;
En que momento inicializas la variable?
Si no tienes un constructor podrias hacer.
private static Vector dataSistema = new Vector();
Saludos
EDIT:
Personalmente no me gusta la forma que envias los datos, podrias estructurar más la forma de enviar los datos. Saludos
LO se pero es explicitamente necesario que sea asi xD
Que cabeza no inicializar el objeto xDDD
Saludos y gracias :D