Java PDF文件路径不正确

Java PDF文件路径不正确,java,android,pdf,android-studio,filepath,Java,Android,Pdf,Android Studio,Filepath,我想在我的应用程序中打开一个PDF文件,但每次都出现问题。 是的,我看了很多关于它的话题,但是没有一个对我有帮助 以下是错误的一些照片: btn3.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) {

我想在我的应用程序中打开一个PDF文件,但每次都出现问题。 是的,我看了很多关于它的话题,但是没有一个对我有帮助

以下是错误的一些照片:

 btn3.setOnClickListener(new View.OnClickListener() {
                                @Override
                                public void onClick(View v) {
                                    //startActivity(new Intent(MainActivity.this, Activity2.class));
                                    File file = null;
                                    file = new File(Environment.getExternalStorageDirectory() + "/raw/" + "tirepressuremonitoringsystem3.pdf");
                                    Toast.makeText(getApplicationContext(), file.toString() , Toast.LENGTH_LONG).show();
                                    if(file.exists()) {
                                        Intent target = new Intent(Intent.ACTION_VIEW);
                                        target.setDataAndType(Uri.fromFile(file), "application/pdf");
                                        target.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);

                                        Intent intent = Intent.createChooser(target, "Open File");
                                        try {
                                            startActivity(intent);
                                        } catch (ActivityNotFoundException e) {
                                            // Instruct the user to install a PDF reader here, or something
                                        }
                                    }
                                    else
                                        Toast.makeText(getApplicationContext(), "File path is incorrect." , Toast.LENGTH_LONG).show();
                                }
                            }
    );

可能错误在于我将这些文件放入了/raw?我应该将它们存储在assest文件夹中吗?

替换您的此行

 file = new File(Environment.getExternalStorageDirectory() + "/raw/" + "tirepressuremonitoringsystem3.pdf");
用这条线

 file = new File("android.resource://com.cpt.sample/raw/tirepressuremonitoringsystem3.pdf");

如果要在运行时通过标识符访问,请使用raw:

R.raw.tirepressuremonitoringsystem3
如果要按字符串名称访问资源,请使用资源

无论哪种方式,您都需要将其从您的应用程序复制到另一个应用程序可以访问的位置,如以下答案所述:


您似乎想从原始文件夹访问文件@gdd.

因为编译android project R.java文件时,您可以通过R.raw.fileName访问原始文件夹中的任何内容,并且您想访问文件名tirepressuremonitoringsystem3.pdf,因此,您可以使用R.raw.tirepressuremonitoringsystem3

如果您不想这样做,并且希望使用jdks文件api。。
谢谢并继续编码。

此错误是因为路径文件不正确。你把你的pdf文件放在哪里?现在我得到这个->现在我得到这个用你的包名替换com.cpt.sample如果你不能给出静态包名,那么把这行文件File=new文件(“android.resource://+”+getPackageName()+“/raw/tirepressuremonitoringsystem3.pdf”);我改成了完整路径:file=newfile(“安卓”)。resource://com.example.dovydas.myapplication3/res/raw/tirepressuremonitoringsystem3.pdf"); 静态路径为badcom.example.dovydas.myapplication3这是AndroidManifest.xml文件包名吗?我应该在哪里输入此代码?在activity_main.xml中,清单中的任何一行