0

さて、Androidアプリケーションで生成されたPDFを持っていますが、タイトルにシステムの日付と時刻が必要です。だから私はこのコードをコンパイルしました:

public void createPDF()
{
    Document doc = new Document();

     try {
         Date date = new Date();
         String dateTime = DateFormat.getDateTimeInstance().format(date);
         File sdCard = Environment.getExternalStorageDirectory();
         File dir = new File (sdCard.getAbsolutePath() + "/Bitacora");
         dir.mkdirs();
         File file = new File(dir, "Bitácora "+idetotrocliente.getText().toString()+", "+dateTime+vwfecha1.getText().toString()+etsitio.getText().toString()+".pdf");
         FileOutputStream fOut = new FileOutputStream(file);

しかし、アプリで PDF を生成しようとすると、ログに次のエラーが表示されます。

08-28 21:32:38.950: E/PDFCreator(12425): ioException:java.io.FileNotFoundException: /mnt/sdcard/Bitacora/Bitácora ¡VALOR NECESARIO!, ago 28, 2013 9:32:24 p.m..pdf (Invalid argument)

「dateTime」変数を削除すると、PDF は正しく生成されますが、タイトルに日付を含める必要があります。私に何ができる?:(

4

1 に答える 1

0

問題は、 が原因のようです:Android でファイル名に使用できる文字を参照してください。. :は一種の予約文字であるため、ファイル名では使用できません。.replace関数""を使用して、それを (空の文字列)に置き換えてみてください。次に、それを使用してPDFを作成します。Android - 文字列の一部を別の文字列に置き換える方法も参照してください。

于 2013-08-29T15:46:42.270 に答える