2016-07-03 2 views
0

Что такое the path, чтобы сохранить pdf file в «архив» на вкладке galaxy galaxy s2 без SD CARD?DocumentException: /storage/emulated/0/droidText/ciccia.pdf: open failed: ENOENT (Нет такого файла или каталога)

PDF СОЗДАТЬ:

public void createPDF() { 
     Document doc = new Document(); 
     try { 
      String path = Environment.getExternalStorageDirectory() 
        .getAbsolutePath() + "/droidText"; 

      File dir = new File(path); 
      if (!dir.exists()) 
       dir.mkdirs(); 

      Log.d("PDFCreator", "PDF Path: " + path); 

      //File file = new File(dir, "sample.pdf"); 
      File file = new File(dir, "ciccia.pdf"); 

      FileOutputStream fOut = new FileOutputStream(file); 

      PdfWriter.getInstance(doc, fOut); 

      // open the document 
      doc.open(); 
      ByteArrayOutputStream stream = new ByteArrayOutputStream(); 
      Bitmap bitmap = BitmapFactory.decodeResource(getContext() 
        .getResources(), R.drawable.androtuto); 
      bitmap.compress(Bitmap.CompressFormat.JPEG, 100, stream); 
      Image myImg = Image.getInstance(stream.toByteArray()); 
      myImg.setAlignment(Image.MIDDLE); 

      // add image to document 
      doc.add(myImg); 


      Paragraph spazio = new Paragraph(" "); 
      Font spazioFont = new Font(Font.COURIER, 14.0f, Color.GREEN); 
      spazio.setAlignment(Paragraph.ALIGN_CENTER); 
      spazio.setFont(spazioFont); 

      Paragraph pTavolo = new Paragraph("numero tavolo: "+numeroTavolo); 
      Font paraFontTavolo = new Font(Font.COURIER); 
      pTavolo.setAlignment(Paragraph.ALIGN_CENTER); 
      pTavolo.setFont(paraFontTavolo); 


      // add paragraph to document 
      doc.add(pTavolo); 


      Paragraph p1 = new Paragraph(string); 
      System.out.println(string); 
      Font paraFont = new Font(Font.COURIER); 
      p1.setAlignment(Paragraph.ALIGN_CENTER); 
      p1.setFont(paraFont); 


      doc.add(p1); 
      Paragraph pizzeOrdinate = new Paragraph("Pizze ordinate: "+string2); 

      Font paraFontPizzeOrdinate = new Font(Font.COURIER, 14.0f, Color.GREEN); 
      pizzeOrdinate.setAlignment(Paragraph.ALIGN_CENTER); 
      pizzeOrdinate.setFont(paraFontPizzeOrdinate); 

      doc.add(pizzeOrdinate); 

      // add paragraph to document 

      Paragraph p3 = new Paragraph("TOTALE Pizze: "+totalepizze); 

      Font paraFont3 = new Font(Font.COURIER, 14.0f, Color.GREEN); 
      p3.setAlignment(Paragraph.ALIGN_CENTER); 
      p3.setFont(paraFont3); 

      doc.add(p3); 

      doc.add(spazio); 
      doc.add(spazio); 


      Paragraph p2 = new Paragraph("BIBITE ordinate"+string4); 
      System.out.println(string4); 


      Font paraFont2 = new Font(Font.COURIER, 14.0f, Color.GREEN); 
      p2.setAlignment(Paragraph.ALIGN_CENTER); 
      p2.setFont(paraFont2); 

      doc.add(p2); 

      Paragraph p4 = new Paragraph("TOTALE Bibite: "+totalebibite); 

      Font paraFont4 = new Font(Font.COURIER, 14.0f, Color.GREEN); 
      p4.setAlignment(Paragraph.ALIGN_CENTER); 
      p4.setFont(paraFont4); 

      doc.add(p4); 

      doc.add(spazio); 
      doc.add(spazio); 



      int costoTotale= totalepizze+totalebibite; 
      Paragraph p5 = new Paragraph("TOTALE : "+costoTotale); 

      Font paraFont5 = new Font(Font.COURIER, 14.0f, Color.GREEN); 
      p5.setAlignment(Paragraph.ALIGN_CENTER); 
      p5.setFont(paraFont5); 

      doc.add(p5); 

      /* Paragraph p3 = new Paragraph("TOTALE: "+tot); 

      Font paraFont3 = new Font(Font.COURIER, 14.0f, Color.GREEN); 
      p3.setAlignment(Paragraph.ALIGN_CENTER); 
      p3.setFont(paraFont3); 

      doc.add(p3);*/ 


      stream = new ByteArrayOutputStream(); 
      bitmap = BitmapFactory.decodeResource(getContext() 
        .getResources(), R.drawable.android); 
      bitmap.compress(Bitmap.CompressFormat.JPEG, 100, stream); 
      myImg = Image.getInstance(stream.toByteArray()); 
      myImg.setAlignment(Image.MIDDLE); 

      // add image to document 
      doc.add(myImg); 

      // set footer 
      Phrase footerText = new Phrase("Pied de page "); 
      HeaderFooter pdfFooter = new HeaderFooter(footerText, false); 
      doc.setFooter(pdfFooter); 

     } catch (DocumentException de) { 
      // Log.e("PDFCreator", "DocumentException:" + de); 
      Log.e("PDFCreator", "DocumentException:" + de.getMessage()); 
     } catch (IOException e) { 
      // Log.e("PDFCreator", "ioException:" + e); 
      Log.e("PDFCreator", "DocumentException:" + e.getMessage()); 


     } finally { 
      doc.close(); 
     } 

    } 

PDF VIEW:

public void viewPDF() { 
     String path = "/sdcard/droidText/ciccia.pdf"; 
     try { 
    File targetFile = new File(path); 
    Uri targetUri = Uri.fromFile(targetFile); 

    Intent intent=new Intent(); 
    intent.setPackage("com.hp.android.print"); 
    //intent = new Intent(Intent.ACTION_VIEW); 
    intent.setAction(Intent.ACTION_VIEW); 
    intent.setDataAndType(targetUri, "application/pdf"); 

    startActivity(intent); 
}catch(ActivityNotFoundException anfe){ 
    final String appPackageName="com.hp.android.print"; 
      try{ 
       startActivity(new Intent(Intent.ACTION_VIEW,Uri.parse("market://details?id=" +appPackageName))); 
      }catch(android.content.ActivityNotFoundException anfer){ 
     startActivity(new Intent(Intent.ACTION_VIEW,Uri.parse("https://play.google.com/store/apps/details?id=" +appPackageName))); 
    } 
     } 
    } 

ЭТО ИСКЛЮЧЕНИЕ: DocumentException:/storage/emulated/0/droidText/ciccia.pdf: open failed: ENOENT (No such file or directory)

LogCat:

D/PDFCreator: PDF Path: /data/droidText 
07-02 18:52:51.760 2211-2736/zio.zio.zio E/PDFCreator: DocumentException:/data/droidText/ciccia.pdf: open failed: ENOENT (No such file or directory) 
07-02 18:52:51.770 2211-2909/zio.zio.zio D/PDFCreator: PDF Path: /data/droidText 
07-02 18:52:51.770 2211-2909/zio.zio.zio E/PDFCreator: DocumentException:/data/droidText/ciccia.pdf: open failed: ENOENT (No such file or directory) 
07-02 18:52:51.770 2211-2211/zio.zio.zio D/ViewRootImpl: #3 mView = null 
07-02 18:52:51.840 2211-2211/zio.zio.zio E/ViewRootImpl: sendUserActionEvent() mView == null 
07-02 18:52:52.310 2211-2211/zio.zio.zio V/ActivityThread: updateVisibility : ActivityRecord{72262aa [email protected] {info.androidhive.materialtabs/zio.zio.zio.activity.ScrollableTabsActivity}} show : false 

ANDROID МАНИФЕСТ:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> 
+1

Возможный дубликат [createNewFile - не открыть не удалось: ENOENT (Нет такого файла или каталога)] (http://stackoverflow.com/questions/22435061/createnewfile-открытый неудавшийся ENOENT-не-такой-то файл или директория) – Ironman

ответ

0

Постарайся чейнинга свой путь к этому:

String path = Environment.getExternalStorageDirectory() 
       .getAbsolutePath() + "/droidText/"; 
Смежные вопросы