He logrado conseguir bastante informacion del superbloque, sin embargo, necesito identificar si el sistema de archivos es realmente ext3, ademas necesito leer el journaling. Si alguien tiene idea de como hacerlo se los agradecira.
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes Menú
import javax.imageio.ImageIO;
import java.awt.Image;
import java.net.URL;
import java.net.MalformedURLException;
import java.io.IOException;
private static ImageIcon cargarImagen(String zip,String archivo){
try{
URL url = new URL("jar:file:/"+zip+"!/"+archivo);
Image img = ImageIO.read(url);
return new ImageIcon(img);
}
catch(MalformedURLException mue){
}
catch(IOException ioe){
}
return null;
}
jLabel.setIcon(new ImageIcon(new URL("jar:file:/pred.zip!/fondo.png")));
Component video = player.getVisualComponent();
/**
*@author Brian Estrada - USAC Guatemala
*/
import java.util.*;
public class Lista{
private Nodo lista;
private int tamano;
public Lista(){
lista = new Nodo();
tamano = 0;
}
public int getTamano(){
return tamano;
}
public void agregar(Object objeto){
Nodo padre = lista;
Nodo nuevo = new Nodo();
for (int i = 0;i<tamano;i++)
padre = padre.getHijo();
nuevo.setObjeto(objeto);
nuevo.setPadre(padre);
nuevo.getPadre().setHijo(nuevo);
tamano++;
}
public void agregar(Object objeto, int indice) throws NullPointerException{
Nodo padre = lista;
Nodo nuevo = new Nodo();
for (int i = 0;i<indice;i++)
padre = padre.getHijo();
nuevo.setObjeto(objeto);
nuevo.setPadre(padre);
nuevo.setHijo(padre.getHijo());
nuevo.getHijo().setPadre(nuevo);
nuevo.getPadre().setHijo(nuevo);
tamano++;
}
public void agregar(Lista lista){
if (lista.getTamano()>0){
Nodo padre = this.lista;
for (int i = 0;i<tamano;i++)
padre = padre.getHijo();
padre.setHijo(lista.getLista().getHijo());
padre.getHijo().setPadre(padre);
tamano += lista.getTamano();
}
}
public void agregar(Lista lista, int indice){
if (lista.getTamano()>0){
Nodo padre1 = this.lista;
Nodo padre2 = lista.getLista();
for (int i=0;i<indice;i++)
padre1 = padre1.getHijo();
for (int i=0;i<lista.getTamano();i++)
padre2 = padre2.getHijo();
padre2.setHijo(padre1.getHijo());
padre1.setHijo(lista.getLista().getHijo());
tamano += lista.getTamano();
}
}
public Object getObjeto(int indice) throws NullPointerException{
Nodo padre = lista;
for (int i=0;i<indice;i++)
padre = padre.getHijo();
return padre.getHijo().getObjeto();
}
public Nodo getLista(){
return lista;
}
public void setLista(Nodo lista, int tamano){
this.lista = lista;
this.tamano = tamano;
}
public Lista getSubLista(int indice, int tamano)throws Exception{
Lista lista = new Lista();
Nodo padre = this.lista;
Nodo aux;
for (int i = 0;i<indice;i++)
padre = padre.getHijo();
aux = (Nodo)padre.clone();
aux.setPadre(null);
padre = aux;
for (int i=0;i<tamano;i++)
padre = padre.getHijo();
padre.setHijo(null);
lista.setLista(aux,tamano);
return lista;
}
public void remover(int indice){
Nodo padre = lista;
for (int i = 0;i<indice;i++)
padre = padre.getHijo();
if (indice<(tamano-1)){
padre.getHijo().setObjeto(padre.getHijo().getHijo().getObjeto());
padre.getHijo().setHijo(padre.getHijo().getHijo().getHijo());
}
else
padre.setHijo(null);
--tamano;
}
public void remover(int indice,int tamano){
Nodo padre1 = lista;
Nodo padre2;
for (int i = 0;i<indice;i++)
padre1 = padre1.getHijo();
padre2 = padre1;
for (int i=0;i<tamano;i++)
padre2 = padre2.getHijo();
padre1.setHijo(padre2.getHijo());
this.tamano -= tamano;
}
public void removerTodo(){
lista.setHijo(null);
tamano = 0;
}
public void barajar(){
Random rnd = new Random();
Lista nuevaLista = new Lista();
int i;
while(tamano>0){
i = rnd.nextInt(tamano);
nuevaLista.agregar(getObjeto(i));
remover(i);
}
agregar(nuevaLista);
}
public void setOrden(Lista orden){
int posicion;
Lista lista = new Lista();
for (int i = 0;i<tamano;i++){
posicion = ((OrdenLista)orden.getObjeto(i)).getIndice();
lista.agregar(getObjeto(posicion));
}
removerTodo();
setLista(lista.getLista(),lista.getTamano());
}
}
class OrdenLista{
private int indice;
private int valor;
public OrdenLista(int valor,int indice){
this.indice =indice;
this.valor = valor;
}
public int getIndice(){
return indice;
}
public int getValor(){
return valor;
}
public static void ordenar(Lista lista,int inicio,int fin){
//quicksort
int i = inicio - 1;
int j = fin;
OrdenLista aux;
if (i>=j)
return;
int pivote = ((OrdenLista)lista.getObjeto(fin)).getValor();
while (true){
while (i<fin && ((OrdenLista)lista.getObjeto(++i)).getValor() < pivote);
while (j>inicio && ((OrdenLista)lista.getObjeto(--j)).getValor() > pivote);
if (i<j){
aux = (OrdenLista)lista.getObjeto(i);
lista.agregar(lista.getObjeto(j),i);
lista.remover(i+1);
lista.agregar(aux,j);
lista.remover(j+1);
}
else break;
}
aux = (OrdenLista)lista.getObjeto(i);
lista.agregar(lista.getObjeto(fin),i);
lista.remover(i+1);
lista.agregar(aux,fin);
lista.remover(fin+1);
ordenar(lista,inicio,i-1);
ordenar(lista,i+1,fin);
}
}
/**
*@author Brian Estrada - USAC Guatemala
*/
public class Nodo implements Cloneable {
private Nodo padre;
private Nodo hijo;
private Object objeto;
public Nodo(){
padre = null;
hijo = null;
objeto = null;
}
public Object getObjeto(){
return objeto;
}
public void setObjeto(Object objeto){
this.objeto = objeto;
}
public Nodo getPadre(){
return padre;
}
public void setPadre(Nodo padre){
this.padre = padre;
}
public Nodo getHijo(){
return hijo;
}
public void setHijo(Nodo hijo){
try{
if (hijo!=null)
this.hijo = (Nodo)hijo.clone();
else
this.hijo = null;
}
catch(CloneNotSupportedException e){
System.out.println("error en nodo");
}
}
public Object clone() throws CloneNotSupportedException{
Nodo clone = (Nodo)super.clone();
return clone;
}
}
Lista lista = new Lista();
lista.agregar(new Cancion(1,"A"));
lista.agregar(new Cancion(3,"B"));
lista.agregar(new Cancion(2,"C"),1);
lista.agregar(new Cancion(4,"D"));
lista.barajar();
Lista orden = new Lista();
for(int i=0;i<4;i++)
orden.agregar(new OrdenLista(((Cancion)lista.getObjeto(i)).getDuracion(),i));
OrdenLista.ordenar(orden,0,orden.getTamano()-1);
for (int i = 0;i<lista.getTamano();i++)
System.out.println(((Cancion)lista.getObjeto(i)).getTitulo());
System.out.println();
lista.setOrden(orden);
System.out.println();
for (int i = 0;i<lista.getTamano();i++)
System.out.println(((Cancion)lista.getObjeto(i)).getTitulo());
lista.remover(0,2);
System.out.println();
for (int i = 0;i<lista.getTamano();i++)
System.out.println(((Cancion)lista.getObjeto(i)).getTitulo());