import java.util.StringTokenizer;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.StringTokenizer;
public class Lista {
Nodo inicio;
Nodo fin;
int tam=0;
public Lista()
{
inicio=fin=null;
}
public boolean Vacia()
{
return inicio==null;
}
public int Tamaño()
{
return tam;
}
public void AgregarInicio(String valor)
{
Nodo nuevo=new Nodo();
nuevo.setvalor(valor);
if(Vacia())
{
inicio=nuevo;
}else {
Nodo aux=inicio;
nuevo.setSiguiente(aux);
inicio=nuevo;
}
}
public void agregarNodoFinal(String valor)
{
Nodo nuevo=new Nodo();
nuevo.setvalor(valor);
if(Vacia()){
inicio=nuevo;
}else{
Nodo aux=inicio;
while(aux.getSiguiente()!=null){
aux=aux.siguiente;
}
aux.setSiguiente(nuevo);
tam++;
}
}
public boolean Buscar(String referencia)
{
Nodo aux=inicio;
boolean encontrado=false;
while (aux!=null&&encontrado!=true){
if(referencia==aux.getvalor()){
encontrado=true;
}
else{
aux=aux.getSiguiente();
}
}
return encontrado;
}
public void Mostrar()
{
if(Vacia()){
Nodo aux=inicio;
int i=0;
while(aux!=null){
System.out.print("["+ aux.getvalor()+"] --->");
aux=aux.getSiguiente();
} i++;
}
}
public void Eliminar()
{
if (Vacia()){
System.out.println("No se puede eliminar :c");
}
else {
Nodo aux = inicio;
Nodo temp = inicio.getSiguiente();
while(temp.getSiguiente()!=null){
temp=temp.getSiguiente();
aux=aux.getSiguiente();
}
aux.setSiguiente(null);
}
}
public void imprimir()
{
Nodo aux=inicio;
while(aux!=null){
System.out.println(aux.getvalor());
aux=aux.getSiguiente();
}
}
public String leerArchivo(String path)
{
String total="";
try {
FileReader fr=new FileReader(new File(path));
BufferedReader br=new BufferedReader(fr);
String linea="";
while( (linea=br.readLine())!=null){
total=total+linea+"\n";
}
} catch (FileNotFoundException e) {
System.out.println("Problemas de archivo: "+e.getMessage());
} catch (IOException e) {
System.out.println("Problemas en la lectura del archivo: "+e.getMessage());
}
return total;
}
public String escribirArchivo(String linea)
{
FileWriter fichero = null;
PrintWriter pw = null;
try
{
fichero = new FileWriter("texto.txt", true);
pw = new PrintWriter(fichero);
pw.println(linea);
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (null != fichero)
fichero.close();
} catch (Exception e2) {
e2.printStackTrace();
}
}
return "Se ha escrito en el archivo";
}
public Lista separar(String total)
{
System.out.println(total);
Lista coleccion=new Lista();
StringTokenizer st = new StringTokenizer(total, " \n;");
while (st.hasMoreTokens()) {
String palabra = st.nextToken();
coleccion.agregarNodoFinal(palabra);
}
return coleccion;
}
}