2011-11-16 10 views

risposta

83

Utilizzare questo codice è possibile scrivere un file di testo in SDCard insieme a il permesso set in Android manifesta

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

questo è il codice:

public void generateNoteOnSD(Context context, String sFileName, String sBody) { 
    try { 
     File root = new File(Environment.getExternalStorageDirectory(), "Notes"); 
     if (!root.exists()) { 
      root.mkdirs(); 
     } 
     File gpxfile = new File(root, sFileName); 
     FileWriter writer = new FileWriter(gpxfile); 
     writer.append(sBody); 
     writer.flush(); 
     writer.close(); 
     Toast.makeText(context, "Saved", Toast.LENGTH_SHORT).show(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
} 

prima di scrivere i file di controllare anche se il vostro SDCard è montato & vostro stato di archiviazione esterna è scrivibile

Environment.getExternalStorageState() 
+0

ho eseguito sull'emulatore prima in realtà, questo codice può funzionare per l'emulatore? Thx u – Michelle

+0

ya funziona bene ed inoltre puoi sfogliare i dati in DDMS – Karthi

+0

potresti spiegarmi cosa è String sFileName, String sBody per? Thx – Michelle

6

Controllare il android documentation. In realtà non è molto diverso dalla normale gestione dei file java io, quindi è anche possibile controllare quella documentazione.

Un esempio dalla documentazione Android:

String FILENAME = "hello_file"; 
String string = "hello world!"; 

FileOutputStream fos = openFileOutput(FILENAME, Context.MODE_PRIVATE); 
fos.write(string.getBytes()); 
fos.close(); 
+0

Provo questo: File myfile = new File ("genetic_algorithm.txt"); try \t \t { \t \t String string = "ciao mondo!"; \t \t FileOutputStream fos = openFileOutput (myfile, Context.MODE_PRIVATE); \t \t fos.write (string.getBytes()); \t \t fos.close(); \t \t} \t \t catch (t Throwable) { \t \t \t Log.e (TAG, "errore"); \t \t} non è ancora possibile> _ < – Michelle

+0

controllare il registro per l'eccezione ottenuta. "non può ancora funzionare" non è una buona descrizione del problema. Sulla base del log degli errori potremmo essere in grado di aiutarti.Questa è la gestione standard dell'IO Java, quindi potresti voler leggere alcuni tutorial su quell'argomento. – hcpl

2

Se si desidera creare un file e scrivere e aggiungere dati ad essa molte volte, quindi utilizzare il codice qui sotto, si creerà file se non uscite e volontà aggiungi dati se esiste.

SimpleDateFormat formatter = new SimpleDateFormat("yyyy_MM_dd"); 
     Date now = new Date(); 
     String fileName = formatter.format(now) + ".txt";//like 2016_01_12.txt 


     try 
      { 
       File root = new File(Environment.getExternalStorageDirectory()+File.separator+"Music_Folder", "Report Files"); 
       //File root = new File(Environment.getExternalStorageDirectory(), "Notes"); 
       if (!root.exists()) 
       { 
        root.mkdirs(); 
       } 
       File gpxfile = new File(root, fileName); 


       FileWriter writer = new FileWriter(gpxfile,true); 
       writer.append(sBody+"\n\n"); 
       writer.flush(); 
       writer.close(); 
       Toast.makeText(this, "Data has been written to Report File", Toast.LENGTH_SHORT).show(); 
      } 
      catch(IOException e) 
      { 
       e.printStackTrace(); 

      } 
1
First create a Project With PdfCreation in Android Studio 

Then Follow below steps: 

1.Download itextpdf-5.3.2.jar library from this link [https://sourceforge.net/projects/itext/files/iText/iText5.3.2/][1] and then 
2.Add to app>libs>itextpdf-5.3.2.jar 
3.Right click on jar file then click on add to library 
4. Document document = new Document(PageSize.A4); // Create Directory in External Storage 
     String root = Environment.getExternalStorageDirectory().toString(); 
     File myDir = new File(root + "/PDF"); 
     System.out.print(myDir.toString()); 
     myDir.mkdirs(); // Create Pdf Writer for Writting into New Created Document 
     try { 
      PdfWriter.getInstance(document, new FileOutputStream(FILE)); 
     } catch (DocumentException e) { 
      e.printStackTrace(); 
     } catch (FileNotFoundException e) { 
      e.printStackTrace(); 
     } // Open Document for Writting into document 
     document.open(); // User Define Method 
     addMetaData(document); 
     try { 
      addTitlePage(document); 
     } catch (DocumentException e) { 
      e.printStackTrace(); 
     } // Close Document after writting all content 
     document.close(); 

5. public void addMetaData(Document document) 
    { 
     document.addTitle("RESUME"); 
     document.addSubject("Person Info"); 
     document.addKeywords("Personal, Education, Skills"); 
       document.addAuthor("TAG"); 
     document.addCreator("TAG"); 
    } 
    public void addTitlePage(Document document) throws DocumentException 
    { // Font Style for Document 
     Font catFont = new Font(Font.FontFamily.TIMES_ROMAN, 18, Font.BOLD); 
     Font titleFont = new Font(Font.FontFamily.TIMES_ROMAN, 22, Font.BOLD 
       | Font.UNDERLINE, BaseColor.GRAY); 
     Font smallBold = new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.BOLD); 
     Font normal = new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.NORMAL); // Start New Paragraph 
     Paragraph prHead = new Paragraph(); // Set Font in this Paragraph 
     prHead.setFont(titleFont); // Add item into Paragraph 
     prHead.add("RESUME – Name\n"); // Create Table into Document with 1 Row 
     PdfPTable myTable = new PdfPTable(1); // 100.0f mean width of table is same as Document size 
     myTable.setWidthPercentage(100.0f); // Create New Cell into Table 
     PdfPCell myCell = new PdfPCell(new Paragraph("")); 
     myCell.setBorder(Rectangle.BOTTOM); // Add Cell into Table 
     myTable.addCell(myCell); 
     prHead.setFont(catFont); 
     prHead.add("\nName1 Name2\n"); 
     prHead.setAlignment(Element.ALIGN_CENTER); // Add all above details into Document 
     document.add(prHead); 
     document.add(myTable); 
     document.add(myTable); // Now Start another New Paragraph 
     Paragraph prPersinalInfo = new Paragraph(); 
     prPersinalInfo.setFont(smallBold); 
     prPersinalInfo.add("Address 1\n"); 
     prPersinalInfo.add("Address 2\n"); 
     prPersinalInfo.add("City: SanFran. State: CA\n"); 
     prPersinalInfo.add("Country: USA Zip Code: 000001\n"); 
     prPersinalInfo.add("Mobile: 9999999999 Fax: 1111111 Email: [email protected] \n"); 
     prPersinalInfo.setAlignment(Element.ALIGN_CENTER); 
     document.add(prPersinalInfo); 
     document.add(myTable); 
     document.add(myTable); 
     Paragraph prProfile = new Paragraph(); 
     prProfile.setFont(smallBold); 
     prProfile.add("\n \n Profile : \n "); 
     prProfile.setFont(normal); 
     prProfile.add("\nI am Mr. XYZ. I am Android Application Developer at TAG."); 
     prProfile.setFont(smallBold); 
     document.add(prProfile); // Create new Page in PDF 
     document.newPage(); 
    } 
+2

Mi ha chiesto come creare un file 'Text' (' .txt') e stai rispondendo mostrando come creare un file '.pdf'. Con una biblioteca ... – ClassA

Problemi correlati