Android 如何在drawable或raw文件夹中创建文件的文件对象?

Android 如何在drawable或raw文件夹中创建文件的文件对象?,android,android-drawable,file-access,Android,Android Drawable,File Access,我想将图像与我的应用程序捆绑在一起。我计划将图像保存在drawable或raw文件夹中。我想知道如何制作此图像的文件对象 大概是这样的: File file = new File("fileurl"); 谢谢。如果您将图像资源放在工作区中的Raw文件夹中,您可以使用以下方法在类中访问它: getResources.openRawResources(R.raw.resource\u id) 编辑: 上述代码将返回一个inputStream,若要将其转换为文件,请尝试以下操作: inputStre

我想将图像与我的应用程序捆绑在一起。我计划将图像保存在drawable或raw文件夹中。我想知道如何制作此图像的
文件
对象

大概是这样的:

File file = new File("fileurl");

谢谢。

如果您将图像资源放在工作区中的
Raw
文件夹中,您可以使用以下方法在类中访问它:

getResources.openRawResources(R.raw.resource\u id)

编辑:

上述代码将返回一个
inputStream
,若要将其转换为文件,请尝试以下操作:

inputStream = getResources.openRawResources(R.raw.resource_id)`
// write the inputStream to a FileOutputStream
File file = new File("fileurl");
outputStream = new FileOutputStream(file);

int read = 0;
byte[] bytes = new byte[1024];

while ((read = inputStream.read(bytes)) != -1) {
       outputStream.write(bytes, 0, read);
}
outputStream.close();
inputStream.close();

你能试试这个吗

try {
       File mFile=new File("my file name");
       InputStream inputStream = getResources().openRawResource(R.drawable.ic_launcher);
       OutputStream out=new FileOutputStream(mFile);
       byte buf[]=new byte[1024];
       int len;
       while((len=inputStream.read(buf))>0)
           out.write(buf,0,len);
           out.close();
        inputStream.close();
      }catch (Exception e){
         e.printStackTrace();
      }

希望这能对您有所帮助。

如何使用它创建文件对象?我在文件对象中传递的URL是什么?这应该是raw右侧图像的URL?您想在android中
创建文件
,还是想
读取raw文件夹中文件的内容
?如果您想
读取
,那么
获取资源()。openRawResource(R.raw.resource\u id)
是正确的答案。我想获取原始文件中的文件引用,创建一个文件对象,并将该文件对象发送到服务器。当文件在SD卡中时,我可以完成所有这些操作(我只需传递url“\test.png”并创建一个文件对象)。但是如果文件在原始文件夹中,我不知道如何创建文件对象。getResources()。openRawResource(R.raw.resource_id)将为我提供inputstream。如何将此InputStream转换为文件对象。