如何使用jasper报告,图片上传在fileinputstream中设置路径?

时间:2015-10-15 16:05:14

标签: java jdbc jasper-reports

  

// error1 :java.io.FileNotFoundException:jrxml \ Blank_A4.jrxml(The   系统//找不到指定的路径)

     

// error2 :连接失败!!!   //com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:   通讯//链接失败

//我的编码`输入代码

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.sql.Connection;
import java.util.HashMap;
import java.util.Map;
import net.sf.jasperreports.engine.JasperCompileManager;
import net.sf.jasperreports.engine.JasperExportManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.design.JasperDesign;
import net.sf.jasperreports.engine.xml.JRXmlLoader;
import net.sf.jasperreports.engine.JasperPrint;
import com.seerock.utils.DBConnection;



public class JasperReport {


static Connection conn;

public static void main(String[] args) throws FileNotFoundException {

    try{

        DBConnection db = new DBConnection();
        conn=db.getConnection();

        System.out.println("Loading Report Designs");
    //  InputStream input=new FileInputStream(new File("/jrxml/Blank_A4.jrxml"));
        InputStream input=new FileInputStream(new File("jrxml/Blank_A4.jrxml"));
        JasperDesign jasperDesign= JRXmlLoader.load(input);

        System.out.println("Compiling Report Designs");

        net.sf.jasperreports.engine.JasperReport jasperReport=JasperCompileManager.compileReport(jasperDesign);

        System.out.println("Creating JasperPrint Object");
        Map<String, String> parameters=new HashMap<String, String>();
        parameters.put("ReportTitle", "PDF JasperReport");


        JasperPrint jasperPrint=JasperFillManager.fillReport(jasperReport, null, conn); 

        //Exporting the report

        OutputStream output=new FileOutputStream(new File("report/Blank_A4.pdf"));
        JasperExportManager.exportReportToPdfStream(jasperPrint, output);
        System.out.println("Report Generation Complete");
        conn.close();
    }
    catch(Exception e)
    {
        e.printStackTrace();
    }
}
}

1 个答案:

答案 0 :(得分:0)

<强> ERROR1

文件需要存在,你需要指向它,文件在哪里,我指向的是什么?

试试这个......

File f = new File("report/Blank_A4.pdf");
System.out.println(f.getAbsolutePath());

<强>误差2。

连接faliure,你没有设法连接到你的数据库,url,密码,用户名,端口可能是错误的,你没有包含DBConnection的代码所以它不可能说你做错了什么

请检查一下如何连接数据库JDBC Sample example