Ejercicio
Creador de sitemaps V2
Objetivo
Un "sitemap" es un archivo que los webmasters pueden utilizar para indicar a Google las páginas web en las que se encuentra su sitio, y conseguir un mejor posicionamiento en el buscador.
Debe crear un programa que recibirá como parámetros el nombre de un archivo de texto que contiene las URL, la fecha de modificación y la frecuencia de los cambios:
sitemapCreator urls.txt 2011-11-18 semanalmente
El archivo de texto contendría la lista de los nombres de los archivos a indexar, cada línea en una línea diferente.
Código de Ejemplo
import java.util.*;
public class Main
{
static void main(String[] param)
{
if (param.length != 3)
{
System.out.println("Error number of params.");
return;
}
String file = param[0];
String date = param[1];
String frecuency = param[2];
ArrayList ListUrls = GetUrls(file);
CreateSiteMap(ListUrls, frecuency, date);
}
private static void CreateSiteMap(ArrayList listHtml, String frecuency, String lastUpdated)
{
try
{
java.io.FileWriter writer = new java.io.OutputStreamWriter(File.Create("sitemap.xml"));
writer.write("" + System.lineSeparator());
writer.write("" + System.lineSeparator());
for (String html : listHtml)
{
writer.write("" + System.lineSeparator());
writer.write("" + html + "" + System.lineSeparator());
writer.write("" + lastUpdated + "" + System.lineSeparator());
writer.write("" + frecuency + "" + System.lineSeparator());
writer.write("" + System.lineSeparator());
}
writer.write("" + System.lineSeparator());
writer.close();
}
catch (java.lang.Exception e)
{
System.out.println("Error writing sitemap.");
}
}
private static ArrayList GetUrls(String nameFile)
{
try
{
java.io.FileReader reader = new java.io.InputStreamReader(File.OpenRead(nameFile));
java.io.BufferedReader readerBufferedReader = new java.io.BufferedReader(reader);
String line = "";
ArrayList urls = new List();
do
{
line = readerBufferedReader.readLine();
if (line != null)
{
urls.add(line);
}
} while (line != null);
reader.close();
return urls;
}
catch (java.lang.Exception e)
{
System.out.println("Error reading file.");
return null;
}
}