Exercise
Sitemap creator v2
Objetive
You need to create a program that takes the following parameters: the name of a text file containing the URLs, the modification date, and the change frequency.
Example: sitemapCreator urls.txt 2011-11-18 weekly
The text file should contain a list of file names to be indexed, with each file name on a separate line.
Example Code
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;
}
}