我正在尝试检查位于我的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();
}
答案 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();
}