0

Steps I am performing ...

  1. I am creating an image from html(xhtml)
  2. Displaying image on JSF page
  3. Deleting (generated) image and html(xhtml) -> Here lies the problem

Code for step1:

private void generateImageFromHtml(String imageName) {

    try {
        String cardPath = Constants.MEMBERSHIP_TEMPLATE_CARD_DIR;
        // This is path to html and image

        File file = new File(cardPath + imageName + ".xhtml");
        int width = 600;
        int height = 380;

        Java2DRenderer renderer = new Java2DRenderer(file, width, height);
        BufferedImage img = renderer.getImage();
        FSImageWriter imageWriter = new FSImageWriter();
        imageWriter.write(img, (cardPath + imageName + ".png"));
        img.flush();

    } catch (IOException exception) {}
}

Code for step2:

<img src="#{facesContext.externalContext.requestContextPath}/assets/images/cards/#{myBean.cardName}.png" />

Code for step3:

public void deleteMembershipCard() {

    // Here are above code to popupate html and image paths

    File card = new File(imagePath);
    File xhtml = new File(xhtmlPath);

    try {
        card.delete(); // Not DONE Successfully
        xhtml.delete(); // DONE Successfully
    } catch(SecurityException se) {}
}

Problem: I am unable to delete image but html file is deleted successfully. When I try to delete image manually, it give me error message saying "Cannot delete it, it is open in Java(TM)".

Don't know where image is opened in Java.

Tiny
  • 27,221
  • 105
  • 339
  • 599
Junaid
  • 2,572
  • 6
  • 41
  • 77

0 Answers0