Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

I keep getting this error and no QR: QR-CODE Successfully generated!! java.io.Fi

ID: 3902053 • Letter: I

Question

I keep getting this error and no QR:

QR-CODE Successfully generated!!

java.io.FileNotFoundException: C:UsersgmalakerDesktopJD.png (The system cannot find the path specified)

at java.io.RandomAccessFile.open0(Native Method)

at java.io.RandomAccessFile.open(Unknown Source)

at java.io.RandomAccessFile.<init>(Unknown Source)

at javax.imageio.stream.FileImageOutputStream.<init>(Unknown Source)

at com.sun.imageio.spi.FileImageOutputStreamSpi.createOutputStreamInstance(Unknown Source)

at javax.imageio.ImageIO.createImageOutputStream(Unknown Source)

at javax.imageio.ImageIO.write(Unknown Source)

at QRcode.start(QRcode.java:99)

at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$161(LauncherImpl.java:863)

at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$174(PlatformImpl.java:326)

at com.sun.javafx.application.PlatformImpl.lambda$null$172(PlatformImpl.java:295)

at java.security.AccessController.doPrivileged(Native Method)

at com.sun.javafx.application.PlatformImpl.lambda$runLater$173(PlatformImpl.java:294)

at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)

at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)

at com.sun.glass.ui.win.WinApplication.lambda$null$147(WinApplication.java:177)

at java.lang.Thread.run(Unknown Source)

Exception in Application start method

java.lang.reflect.InvocationTargetException

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

at com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:389)

at com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:328)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

at sun.launcher.LauncherHelper$FXHelper.main(Unknown Source)

Caused by: java.lang.RuntimeException: Exception in Application start method

at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:917)

at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$154(LauncherImpl.java:182)

at java.lang.Thread.run(Unknown Source)

Caused by: java.lang.NullPointerException

at javax.imageio.ImageIO.write(Unknown Source)

at QRcode.start(QRcode.java:99)

at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$161(LauncherImpl.java:863)

at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$174(PlatformImpl.java:326)

at com.sun.javafx.application.PlatformImpl.lambda$null$172(PlatformImpl.java:295)

at java.security.AccessController.doPrivileged(Native Method)

at com.sun.javafx.application.PlatformImpl.lambda$runLater$173(PlatformImpl.java:294)

at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)

at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)

at com.sun.glass.ui.win.WinApplication.lambda$null$147(WinApplication.java:177)

... 1 more

Exception running application QRcode

For this code:

import java.awt.Color;

import java.awt.Graphics2D;

import java.awt.image.BufferedImage;

import java.io.File;

import java.io.IOException;

import java.util.Hashtable;

import javax.imageio.ImageIO;

import com.google.zxing.BarcodeFormat;

import com.google.zxing.EncodeHintType;

import com.google.zxing.WriterException;

import com.google.zxing.common.ByteMatrix;

import com.google.zxing.qrcode.QRCodeWriter;

import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;

import javafx.application.Application;

import javafx.embed.swing.SwingFXUtils;

import javafx.scene.Scene;

import javafx.scene.image.ImageView;

import javafx.scene.layout.StackPane;

import javafx.stage.Stage;

public class QRcode extends Application {

@Override

public void start(Stage primaryStage) throws WriterException, IOException {

String qrCodeText = "Chegg Rocks"; // Store the QR-Text

String filePath = "C:\Users\gmalaker\Desktop\JD.png"; // Path of QR-Code Image which gets generated

int size = 512; // QR-Code Image Size

String fileType = "png"; // Image file extension

File qrFile = new File(filePath);

System.out.println("QR-CODE Successfully generated!!");

// Create the ByteMatrix for the QR-Code that encodes the given String

Hashtable<EncodeHintType, ErrorCorrectionLevel> hintMap = new Hashtable<EncodeHintType, ErrorCorrectionLevel>();

hintMap.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.L);

QRCodeWriter qrCodeWriter = new QRCodeWriter();

ByteMatrix byteMatrix = qrCodeWriter.encode(qrCodeText, BarcodeFormat.QR_CODE, size, size, hintMap);

int matrixWidth = byteMatrix.getWidth();

// Make the BufferedImage that are to hold the QRCode and this will be displayed

BufferedImage image = new BufferedImage(matrixWidth, matrixWidth, BufferedImage.TYPE_INT_RGB);

image.createGraphics();

Graphics2D graphics = (Graphics2D) image.getGraphics();

graphics.setColor(Color.WHITE);

graphics.fillRect(0, 0, matrixWidth, matrixWidth);

// Paint and save the image using the ByteMatrix

graphics.setColor(Color.BLACK);

for (int i = 0; i < matrixWidth; i++) {

for (int j = 0; j < matrixWidth; j++) {

if (byteMatrix.get(i, j) == 0) {

graphics.fillRect(i, j, 1, 1);

}

}

}

ImageIO.write(image, fileType, qrFile);

ImageView qrView = new ImageView();

qrView.setImage(SwingFXUtils.toFXImage(image, null));

StackPane root = new StackPane();

root.getChildren().add(qrView);

Scene scene = new Scene(root, size, size);

primaryStage.setTitle("QR-CODE GENERATOR Using JavaFx");

primaryStage.setScene(scene);

primaryStage.show();

}

public static void main(String[] args) {

launch(args);

}

}

How do I Fix it?

Explanation / Answer

So the error you are getting with your program is below.

java.io.FileNotFoundException: C:UsersgmalakerDesktopJD.png (The system cannot find the path specified)

What does the error message indicates. It clearly describes the error problem i.e., The system cannot find the path specified.

It means the directory C:UsersgmalakerDesktop does not exist in your system. More elaborately, you don't have folder named gmalaker in your Users directory in your pc. So to resolve this error, replace the whole filePath in the start() method with just the name of the QR Code file which you want to generate in your program. i.e.

String filePath = "JD.png";

After doing this step you can try running your program. If all runs well, the QR Code will get generated in the Program's Project folder itself.

Hope this will solve the error.