检查文件是否存在(不工作)

时间:2017-06-28 01:45:44

标签: android

我正在尝试检查位于我的res下的原始文件夹中的mp3文件。我的mp3文件存在,但我的代码给了我错误的回报。

String filename = "android.resource://" + this.getPackageName() + "/raw/w";

 Toast.makeText(ViewPager.this, mp3check(filename)+"",Toast.LENGTH_LONG).show();

检查mp3文件

 public boolean mp3check(String _filename) {
        return new File(_filename).exists();
    }

2 个答案:

答案 0 :(得分:1)

1)我认为您不能将原始资源视为常规文件。 2)由于它是一种资源,因此无需检查它是否存在。 3)您可以使用资源ID打开它。 例如,如果您的文件名为mysong.mp3,则可以这样打开它:

InputStream is = getResources().openRawResource(R.raw.mysong);

AssetFileDescriptor afd = getResources().openRawResourceFd(R.raw.mysong);

您可以使用AssedFileDescriptor与MediaPlayer一起播放。

答案 1 :(得分:0)

试试这个

    String filename = "android.resource://" + this.getPackageName() + "/raw/w";
    String newFilePath = "new file path";  // ExternalStorageDirectory path
    final Path destination = Paths.get(newFilePath );
    try (
        final InputStream in = getResources().openRawResource(R.raw.w);
    ) {
        Files.copy(in, destination);
    }

Toast.makeText(ViewPager.this, mp3check(filename)+"",Toast.LENGTH_LONG).show();


    public boolean mp3check(String _newFilePath) {
            return new File(_newFilePath).exists();
        }