2014-03-24 80 views
0

这里是代码给出below..wenever我试图打开dat活动它显示目标文件doesnt存在..请帮助我.....在此先感谢试图读取res文件夹中存储的PDF文件android

public class MainActivityAlgb extends Activity { 
     @Override 
     protected void onCreate(Bundle savedInstanceState) 
     { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.activity_main_activity_algb); 
      CopyReadAssets(); 

     } 

     private void CopyReadAssets() 
     { 
      AssetManager assetManager = getAssets(); 

      InputStream in = null; 
      OutputStream out = null; 
      File file = new File(getFilesDir(), "cure.pdf"); 
      try 
      { 
       in = assetManager.open("cure.pdf"); 
       out = openFileOutput(file.getName(), Context.MODE_WORLD_READABLE); 

       copyFile(in, out); 
       in.close(); 
       in = null; 
       out.flush(); 
       out.close(); 
       out = null; 
      } catch (Exception e) 
      { 
       Log.e("tag", e.getMessage()); 
      } 

      Intent intent = new Intent(Intent.ACTION_VIEW); 
      intent.setDataAndType(Uri.parse("file://" + getFilesDir() + "/cure.pdf"), "application/pdf"); 

      startActivity(intent); 
     } 

     private void copyFile(InputStream in, OutputStream out) throws IOException 
     { 
      byte[] buffer = new byte[1024]; 
      int read; 
      while ((read = in.read(buffer)) != -1) 
      { 
       out.write(buffer, 0, read); 
      } 
     } 

    } 
+0

现在文件在哪里?资源或资产?因为从水库你不能。你必须把它放在资产文件夹中。 – cesztoszule

+0

文件在资产文件夹中 – user3447786

回答

0

按我的理解,你已经在文件中存储资源folder.I假定它是原始文件夹内,如果不将其移动到原始folder.Then你可以得到的文件输入流作为

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

希望这可以帮助。

+0

我的文件在资产文件夹中... – user3447786

+0

如果在资产中使用,AssetManager assetManager = getAssets(); InputStream is = assetManager.open(“yourFile”); – nikvs

相关问题