public Rules(String file) {
		String[] aux; // Auxiliar para parsear las lineas
		String   temp = null; // Temporal para recoger las lineas
		String   rule, tags;

		File           f  = null;
		FileReader     fr = null;
		BufferedReader br = null;

		try
		{
			f  = new File(file);
			fr = new FileReader(f);
			br = new BufferedReader(fr);

			temp = br.readLine();
			while (temp != null) // Mientras haya datos
			{
				// Ignora comentarios y lineas en blanco
				if ((temp.length() != 0) && (temp.charAt(0) != '#'))
				{
					aux = temp.split("\t+");
					if (aux.length == 1) {
						validlist.add(new RuleEntry(aux[0]));
					} else {
						tagslist.add(new RuleEntry(aux));
					}
				}
				temp = br.readLine();
			}
		} catch (Exception e) { System.out.println("["+new Timestamp(new Date().getTime())+"] Linea inadecuada" +
				" en el archivo de reglas: \""+ temp +"\"." +
				"\n Los comentarios en el archivo de" +
				" reglas deben estar indicados con el caracter '#' al inicio.");}
		finally
		{
			try                  {if (null != fr) fr.close();}
			catch (Exception e2) { e2.printStackTrace();}
		}
	}