2011-11-16 9 views

Respuesta

83

Use este código para escribir un archivo de texto en SDCard junto con lo que necesita conjunto de permisos en Android manifiesta

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

este es el código:

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(); 
    } 
} 

antes de escribir archivos también comprobar si su tarjeta SD está montado en & su estado de almacenamiento externo se puede escribir

Environment.getExternalStorageState() 
+0

que ejecutarlo en primer emulador de hecho, este código puede funcionar para el emulador? Thx u – Michelle

+0

ya funciona bien y también puede navegar por los datos en DDMS – Karthi

+0

¿me puede explicar por qué es String sFileName, String sBody? Thx – Michelle

6

Compruebe el android documentation. De hecho, no es muy diferente al manejo de archivos estándar de Java, por lo que también podría verificar esa documentación.

Un ejemplo de la documentación de Android:

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

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

Intento esto: Archivo myfile = new File ("genetic_algorithm.txt"); try \t \t { \t \t String string = "hello world!"; \t \t FileOutputStream fos = openFileOutput (myfile, Context.MODE_PRIVATE); \t \t fos.write (string.getBytes()); \t \t fos.close(); \t \t} \t \t captura (t Throwable) { \t \t \t Log.e (TAG, "error"); \t \t} aún no puede funcionar> _ < – Michelle

+0

revise su registro para ver la excepción que recibió. "todavía no puede funcionar" no es una buena descripción del problema. Según el registro de errores, podríamos ayudarte.Este es el manejo estándar de IO de Java, por lo que es posible que desee leer algunos tutoriales sobre ese tema. – hcpl

2

Si desea crear un archivo y escribir y anexar los datos a ella muchas veces, a continuación, utilizar el código siguiente, se creará un archivo si no sale y la voluntad anexar datos si existe.

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

Preguntó cómo crear un archivo 'Text' (' .txt') y está respondiendo mostrando cómo crear un archivo '.pdf'. Con una biblioteca ... – ClassA

Cuestiones relacionadas