iReport - Rodar relatorio

Criei um relatorio no ireport, e gostaria de chamar este relatorio atraves de uma classe, fiz a classe com a seguinte estrutura, o arquivo pdf é criado, mas, nao consigo chama-lo com a classe, da o seguinte erro:

‘Erro 200 ! net.sf.jasperreports.engine.JRException: Error loading object from file : teste.pdf’

classe:

import java.sql.;
import net.sf.jasperreports.engine.
;
import net.sf.jasperreports.engine.design.JasperDesign;
import net.sf.jasperreports.view.JasperViewer;

import java.util.*;
public class Teste
{
public Teste() throws JRException
{
try
{
Class.forName(“net.sourceforge.jtds.jdbc.Driver”);
System.out.println(“Driver carregado.”);

	  Connection con;
	  ResultSet rs;
	
     String sql="";
     con = DriverManager.getConnection("jdbc:jtds:sqlserver://128.1.0.14:1433/CPP2000", "sa", "");        

     sql=" SELECT * FROM TESTE";
     Statement s = con.createStatement();
     rs = s.executeQuery(sql);

         gerarRelatorio(con, rs);	     

  }
  catch (ClassNotFoundException e1)
  {
    System.out.println("Drive nao encontrado");
  }
  catch (SQLException e)
  {
   System.out.println("Erro no SQL");
  }
}
  public void gerarRelatorio(Connection con, ResultSet resultSet) throws JRException
  {
    JRResultSetDataSource jrRS = new JRResultSetDataSource(resultSet);
  	JasperDesign design = JasperManager.loadXmlDesign("teste.xml");
    HashMap parameters = new HashMap();
    JasperPrint impressao = JasperManager.fillReport("classic.jasper",parameters,jrRS);
    JasperExportManager.exportReportToPdfFile(impressao, "teste.pdf");

    JasperViewer.viewReport("teste.pdf",false);
  }  
  public static void main(String args[])
  {
  	try
	{
  	  Teste teste = new Teste();
      System.out.println("Teste 5000 FIM");
  	  
	}
  	catch (JRException j)
	{
  		 System.out.println("Erro!  "+ j.toString());
	}
	 
  }

}

oi,
talvez esse tutorial ajude

http://www.j2b.com.br/abstract/index.php?op=ViewArticle&articleId=7&blogId=1

t+
Aline