压缩从布局创建的位图时出现空指针异常

Null Pointer Exception when Compressing a Bitmap created from layout

我正在尝试从布局制作图像并下载。我下载这个作为测试以确保图像正确,然后我尝试将位图转换为 PDF 以供下载。

我收到一个空指针异常,我在尝试解决这个问题时遇到了问题。

 Bitmap bitmap = Bitmap.createBitmap(relativeLayout.getWidth(), relativeLayout.getHeight(), Bitmap.Config.ARGB_8888);
                Canvas canvas = new Canvas(bitmap);
                relativeLayout.draw(canvas);

                File filepath = Environment.getExternalStorageDirectory();
                File dir = new File(filepath.getAbsolutePath() + "/Demo/");
                dir.mkdir();
                File file = new File(dir, System.currentTimeMillis() + ".jpg");

                try {
                    outputStream = new FileOutputStream(file);
                } catch (FileNotFoundException e) {
                    e.printStackTrace();
                }
                bitmap.compress(Bitmap.CompressFormat.JPEG, 0, outputStream);

                try {
                    outputStream.flush();
                } catch (IOException e) {
                    e.printStackTrace();
                }
                try {
                    outputStream.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
 File file = new File(dir, System.currentTimeMillis() + ".jpg");

您在这里声明了 File,但没有创建它

尝试file.createNewFile()