2014-03-24 104 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

相關問題