Mostrando entradas con la etiqueta Proyecto. Mostrar todas las entradas
Mostrando entradas con la etiqueta Proyecto. Mostrar todas las entradas

viernes, 23 de enero de 2009

Interface InterfaceBuscador

0 comentarios

Es una interface sencilla que implementan las clases ClaseBucaPdf y ClaseBuscaWord... sinceramente solo implementé la interface porque quice no por otra cosa.. creo que ni es necesaria jejeje.... bueno el código:

Download InterfaceBuscador.java

public interface InterfaceBuscador{

void loadFile(String nombre) throws java.io.IOException;
String getText() throws java.io.IOException;
void close() throws java.io.IOException;

}

Read full story

Clase ClaseBuscaWord

0 comentarios

Bien ahora en esta clase es muy parecida a ClaseBuscaPdf y básicamente hacen lo mismo pero esta implementa la librería POI... de la que les comentare en la sección Librerias... bien ahora el codigo:

Download ClaseBuscaWord.java

import java.io.*;
import org.apache.poi.hwpf.extractor.WordExtractor;

class ClaseBuscaWord implements InterfaceBuscador{

private FileInputStream ficheroEntrada;
public WordExtractor we;

public ClaseBuscaWord(){

ficheroEntrada =null; //new FileInputStream(ficheroNombre);
we=null;//new WordExtractor(ficheroEntrada);
//ficheroEntrada.close();

}

public void loadFile(String nombre) throws java.io.IOException{

ficheroEntrada = new FileInputStream(nombre);
we = new WordExtractor(ficheroEntrada);

}

public String getText() throws java.io.IOException{

return we.getText();

}

public void close() throws java.io.IOException{

ficheroEntrada.close();
ficheroEntrada = null;
we = null;

}

}

Read full story

Clase ClaseBuscaPdf

0 comentarios

En esta clase hago uso de la librería PDFBox.... ya hablaré de ella en la sección Librerías... en esta clase es donde abro el .pdf y ver su contenido (en realidad no se ve nada texto).... aqui el codigo:

Download ClaseBuscaPdf.java

import java.io.*;
import org.pdfbox.pdmodel.PDDocument;
import org.pdfbox.util.PDFTextStripper;

class ClaseBuscaPdf implements InterfaceBuscador{

private FileInputStream ficheroEntrada;
public PDDocument pdf;
public PDFTextStripper stripper;
//public String salida;

public ClaseBuscaPdf(){

ficheroEntrada =null;// new FileInputStream(ficheroNombre);
pdf= null;//PDDocument.load(ficheroEntrada);

}

public void loadFile(String nombre) throws IOException{

ficheroEntrada = new FileInputStream(nombre);
pdf = PDDocument.load(ficheroEntrada);

stripper = new PDFTextStripper();
stripper.setSortByPosition(false);
stripper.setStartPage(1);
stripper.setEndPage(Integer.MAX_VALUE);

}

public String getText() throws IOException{

return stripper.getText(pdf);

}

public void close() throws IOException{

pdf.close();
ficheroEntrada.close();
ficheroEntrada = null;
//System.out.println("Cerrando Ficheros!");

}

}

Read full story

Clase Paneles

0 comentarios

En esta clase hereda a la clase Buscador y es donde creo los JRadioButtons, los JTextsAreas y Labels para colocarlos en paneles y distribuirlos en el JFrame... bueno ahora el código:

Download Paneles.java

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

class Paneles{

public JTextArea areaTexto,areaError;
public JScrollPane scroll,scrollError;

public JLabel labelRuta, labelFrase,labelExt,labelBuscar;
public JTextField campoFrase, campoRuta;

public JRadioButton doc,pdf,hdd;
public JPanel entrada, salida, seleccion, errores;

public Paneles(){

crearPaneles();
crearLabels();
crearCampos();
crearRadioBotones();
configurarPaneles();
configurarCampos();
setComponentes();
setEvento();

}

public void crearPaneles(){

entrada = new JPanel();
salida = new JPanel();
seleccion = new JPanel();
errores = new JPanel();

}

public void crearLabels(){

labelRuta = new JLabel("En Ruta:");
labelFrase = new JLabel("Frase a Buscar:");
labelExt = new JLabel("Extensión:");
labelBuscar = new JLabel("Buscar en:");

}

public void crearCampos(){

campoRuta = new JTextField();
campoFrase = new JTextField();

areaTexto = new JTextArea();
scroll = new JScrollPane(areaTexto);

areaError = new JTextArea(10,0);
scrollError = new JScrollPane(areaError);

}

public void crearRadioBotones(){

doc = new JRadioButton(".doc",true);
pdf = new JRadioButton(".pdf",false);
hdd = new JRadioButton("Disco Local",true);

}

public void configurarPaneles(){

entrada.setLayout(new GridLayout(4,1));
salida.setLayout(new GridLayout(1,1));
seleccion.setLayout(new GridLayout(5,1));
errores.setLayout(new GridLayout(1,1));

}

public void configurarCampos(){

campoRuta.setText("C:/");
campoFrase.setText("Introduzca aqui su frase a buscar.");
campoRuta.setEditable(false);
areaTexto.setEditable(false);
areaError.setEditable(false);

}

public void setComponentes(){

entrada.add(labelRuta);
entrada.add(campoRuta);
entrada.add(labelFrase);
entrada.add(campoFrase);

seleccion.add(labelBuscar);
seleccion.add(hdd);
seleccion.add(labelExt);
seleccion.add(doc);
seleccion.add(pdf);

salida.add(scroll);
errores.add(scrollError);

}

public void setText(){

areaTexto.setText("");
areaError.setText("");

}

public void setEvento(){

hdd.addMouseListener( new MouseAdapter(){
public void mousePressed(MouseEvent e){

if(hdd.isSelected()==true)
campoRuta.setEditable(true);

else
campoRuta.setEditable(false);

}
});

}

}

Read full story

Clase Buscador

0 comentarios

Bueno este es la clase principal de mi proyecto.. aqui creo el JFrame... el método que usé para hacer la busqueda es recursivo (aún no se usar árboles Y_Y) si alguien está interesado en ayudar a mejorar el código por favor adelante!!!!..... en la sección Librerias les pondré otras librerias que usé..... aquí les dejo la clase principal:

Descargar Buscador.java

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

public class Buscador extends Paneles{

private static Buscador busca;
private ClaseBuscaWord cBuscaWord;
private ClaseBuscaPdf cBuscaPdf;

private JFrame frame;

private JMenuBar barraMenu;
private JMenu opcion;
private JMenuItem busqueda, salir;

private File directorio;
private String frase;
private int resultado;

public Buscador(){

super();

cBuscaWord = new ClaseBuscaWord();
cBuscaPdf = new ClaseBuscaPdf();

directorio = null;
resultado = -1;
frase = null;

crearMenu();
crearFrame();
setElementos();
setEventos();

}

public void crearMenu(){

barraMenu = new JMenuBar();
opcion = new JMenu("Opcion");
busqueda = new JMenuItem("Buscar");
salir = new JMenuItem("Salir");
opcion.add(busqueda);
opcion.add(salir);
barraMenu.add(opcion);

}

public void crearFrame(){

frame = new JFrame("Buscador Version 0.1.1 :::...");

frame.add("West",super.seleccion);
frame.add("South",super.errores);
frame.add("North",super.entrada);
frame.add("Center",super.salida);

}

public void setElementos(){

frame.setJMenuBar(barraMenu);
frame.setDefaultCloseOperation(frame.EXIT_ON_CLOSE);
frame.setSize(500,500);
frame.setLocation(300,100);
frame.setVisible(true);

}

public void setEventos(){

busqueda.addMouseListener( new MouseAdapter(){
public void mousePressed(MouseEvent e){

setText();

if(doc.isSelected()||pdf.isSelected()){

try{

frase = campoFrase.getText();

if(hdd.isSelected())
directorio = new File("C:/");

else
directorio = new File(campoRuta.getText());

listarDirectorio(directorio);
JOptionPane.showMessageDialog(null,"Fin de Busqueda");

if ((areaTexto.getText()).equals(""))
areaTexto.setText("No hay resultados para su Busqueda!");

}catch(Exception ex){

JOptionPane.showMessageDialog(null,
"Error:\nVerifique la Ruta de Busqueda",
"Error", JOptionPane.ERROR_MESSAGE);

}

}else
JOptionPane.showMessageDialog(null,
"Seleccione un Tipo de Archivo a Buscar",
"Informacion", JOptionPane.INFORMATION_MESSAGE);

directorio = null;

}
});

salir.addMouseListener( new MouseAdapter(){
public void mousePressed(MouseEvent e){
JOptionPane.showMessageDialog(null,
"Gracias por usar este Software!!",
"Saliendo...",JOptionPane.INFORMATION_MESSAGE);
System.exit(0);
}
});

}

public static void listarDirectorio(File directorio){

File [] ficheros = directorio.listFiles();

for(int x=0;x<ficheros.length;x++)

if(ficheros[x].isDirectory())
listarDirectorio(ficheros[x]);

else
try{

if((ficheros[x].getName()).endsWith(".doc")&&busca.doc.isSelected())
busca.busquedaWord(ficheros[x]);

if((ficheros[x].getName()).endsWith(".pdf")&&busca.pdf.isSelected())
busca.busquedaPdf(ficheros[x]);

}catch(Exception exc){

busca.areaError.append("Error en: "
+ficheros[x]+"\nTipo de Error: "+exc+"\n\n");

}

}

}

public void busquedaWord(File fichero) throws Exception{

cBuscaWord.loadFile(""+fichero);
resultado = cBuscaWord.we.getText().indexOf(frase);

if(resultado>-1)
areaTexto.append("Fichero: "+fichero+"\n");

cBuscaWord.close();

}

public void busquedaPdf(File fichero) throws Exception{

cBuscaPdf.loadFile(""+fichero);
resultado = (cBuscaPdf.getText()).indexOf(frase);

if(resultado>-1)
areaTexto.append("Fichero: "+fichero+"\n");

cBuscaPdf.close();
}

public static void main(String args []){

busca = new Buscador();

}

}

Read full story

Proyecto de Vacaciones

0 comentarios

java

Bueno este proyecto no me lo propusieron.. solo me comentaron si era capáz de hacerlo... y pues dije "será muy dificil?"... como no lo sabría si no lo intentaba pues me decidí y empesé de inmediato a trabajar en él...

Lo que debe hacer la aplicación es lo siguiente:

Debe ser un programa que pueda buscar información de los archivos que existe en un ordenador de cierta persona.... la forma en que debe buscar la información es a través de alguna frase o palabra que el usuario proporcione, y debe buscar en sus ficheros esa palabra y no me especificaron en que formatos están los ficheros... pues supongo que los mas usados son el .doc y el .pdf en fin decidí basarme en esos formatos e investigar un poco... y pues hasta ahorita la aplicación es capáz de abrir ambos formatos de archivos y de buscar si el fichero contiene la frase que el usuario indique... y en la parte central arroja la ruta de los ficheros que sí contiene la frase en cuestión... en la parte inferior arroja la ruta de los ficheros que presentaron problemas al tratar de ser procesados....

bueno en mas o menos una semana es todo lo que llevo... cualquier crítica es bienvenida... por favor si hay alguien interesado en ayudar adelante con mucho gusto trabajaremos XD.....

por cierto para que les funcione el jar tienen que bajarse unas librerias que les voy a dejar en la seccion Librerias y meterlas en el directorio de la JRE, en Linux yo lo tengo en el /usr/lib/jvm/java-6-sun-1.6.0.07/jre/lib/ext pero no estoy seguro en Uindous supongo que es en C:\Archivos de Programas/jvm/java-6-sun-1.6.0.07/jre/lib/ext

por cierto creo que hay un pequeño error en el codigo, es que no sabia si es C:\ o C:/ y creo que usé C:/ pero me parece bede ser C:\ bueno eso lo pueden corregir...

Download Buscador_0.1.1.jar

Buscador_0.1.1

Read full story
 

Pyr0S-9889 © 2008 Business Ads Ready is Designed by Ipiet Supported by Tadpole's Notez