1

SD カードに保存されている XML ファイルにデータを書き込むことができる Android アプリケーションを作成しようとしています。すべてうまくいっているように見えますが、私の XML ファイルはちょうど 1000 バイトで途切れてしまいます。コードは次のとおりです。

package brochard.chad.fieldReport;

import java.io.FileWriter;
import java.io.Serializable;
import java.io.StringWriter; 

import org.xmlpull.v1.XmlSerializer;
import android.database.Cursor;
import android.os.Environment;
import android.util.Log;
import android.util.Xml;

public class XMLWriter implements Serializable {

private String filename;
XmlSerializer serializer = Xml.newSerializer();
private StringWriter output = new StringWriter(100);
FieldReportDBAdapter dbA;
static final long serialVersionUID = 0;

public XMLWriter (String _filename){
    filename = _filename;
}

public boolean beginXMlreport(Cursor cursor) {
    try {
        serializer.setOutput(output);
        serializer.startDocument("UTF-8", false);
        serializer.setPrefix("w", "http://schemas.microsoft.com/office/word/2003/wordml");
        serializer.startTag("w", "wordDocument");
        serializer.startTag("w", "styles");
        serializer.startTag("w", "style");
        serializer.attribute("w", "type", "paragraph");
        serializer.attribute("w", "styeId", "ReportHeading");
        serializer.startTag("w", "name");
        serializer.attribute("w", "val", "Heading");
        serializer.endTag("w", "name");
        serializer.startTag("w", "pPr");
        serializer.startTag("w", "jc");
        serializer.attribute("w", "val", "center");
        serializer.endTag("w", "jc");
        serializer.endTag("w", "pPr");
        serializer.startTag("w", "rPr");
        serializer.startTag("w", "b");
        serializer.attribute("w", "val", "on");
        serializer.endTag("w", "b");
        serializer.startTag("w", "sz");
        serializer.attribute("w", "val", "48");
        serializer.endTag("w", "sz");
        serializer.endTag("w", "rPr");
        serializer.endTag("w", "style");
        serializer.startTag("w", "style");
        serializer.attribute("w", "type", "paragraph");
        serializer.attribute("w", "styleId", "SubHeading");
        serializer.startTag("w", "name");
        serializer.attribute("w", "val", "SubHeading");
        serializer.endTag("w", "name");
        serializer.startTag("w", "pPr");
        serializer.startTag("w", "jc");
        serializer.attribute("w", "val", "left");
        serializer.endTag("w", "jc");
        serializer.endTag("w", "pPr");
        serializer.startTag("w", "rPr");
        serializer.startTag("w", "b");
        serializer.attribute("w", "val", "on");
        serializer.endTag("w", "b");
        serializer.startTag("w", "sz");
        serializer.attribute("w", "val", "36");
        serializer.endTag("w", "sz");
        serializer.endTag("w", "rPr");
        serializer.endTag("w", "style");
        serializer.startTag("w", "style");
        serializer.attribute("w", "type", "paragraph");
        serializer.attribute("w", "styleId", "Text");
        serializer.startTag("w", "name");
        serializer.attribute("w", "val", "Text");
        serializer.endTag("w", "name");
        serializer.startTag("w", "pPr");
        serializer.startTag("w", "jc");
        serializer.attribute("w", "val", "left");
        serializer.endTag("w", "jc");
        serializer.endTag("w", "pPr");
        serializer.startTag("w", "rPr");
        serializer.startTag("w", "b");
        serializer.attribute("w", "val", "off");
        serializer.endTag("w", "b");
        serializer.startTag("w", "sz");
        serializer.attribute("w", "val", "24");
        serializer.endTag("w", "sz");
        serializer.endTag("w", "rPr");
        serializer.endTag("w", "style");
        serializer.endTag("w", "styles");   
        serializer.startTag("w", "body");
        serializer.startTag("w", "p");
        serializer.startTag("w", "pPr");
        serializer.startTag("w", "pStyle");
        serializer.attribute("w", "val", "ReportHeading");
        serializer.endTag("w", "pStyle");
        serializer.endTag("w", "pPr");
        serializer.startTag("w", "r");
        serializer.startTag("w", "t");
        serializer.text("Field Report");
        serializer.startTag("w", "br");
        serializer.endTag("w", "br");
        serializer.endTag("w", "t");
        serializer.endTag("w", "r");
        serializer.endTag("w", "p");
        serializer.startTag("w", "p");
        serializer.startTag("w", "pPr");
        serializer.startTag("w", "pStyle");
        serializer.attribute("w", "val", "SubHeading");
        serializer.endTag("w", "pStyle");
        serializer.endTag("w", "pPr");
        serializer.startTag("w", "r");
        serializer.startTag("w", "t");
        serializer.text("Project Title");
        serializer.endTag("w", "t");
        serializer.endTag("w", "r");
        serializer.endTag("w", "p");
        serializer.startTag("w", "p");
        serializer.startTag("w", "pPr");
        serializer.startTag("w", "pStyle");
        serializer.attribute("w", "val", "Text");
        serializer.endTag("w", "pStyle");
        serializer.endTag("w", "pPr");
        serializer.startTag("w", "r");
        serializer.startTag("w", "t");
        serializer.text("Owner: "+
        cursor.getString(FieldReportDBAdapter.OWNER_COLUMN));
        serializer.startTag("w", "br");
        serializer.endTag("w", "br");
        serializer.text("High Temp: "+
                cursor.getString(FieldReportDBAdapter.HIGHTEMP_COLUMN));
        serializer.startTag("w", "br");
        serializer.endTag("w", "br");
        serializer.text("Low Temp: "+
                cursor.getString(FieldReportDBAdapter.LOWTEMP_COLUMN));
        serializer.startTag("w", "br");
        serializer.endTag("w", "br");
        serializer.text("Conditions: "+
                cursor.getString(FieldReportDBAdapter.CONDITIONS_COLUMN));
        serializer.startTag("w", "br");
        serializer.endTag("w", "br");
        serializer.text("Notes: "+
                cursor.getString(FieldReportDBAdapter.NOTES_COLUMN));
        serializer.startTag("w", "br");
        serializer.endTag("w", "br");
        serializer.endTag("w", "t");
        serializer.endTag("w", "r");
        serializer.endTag("w", "p");
        serializer.endTag("w", "body");
        serializer.endTag("w", "wordDocument");   
        return true;
    } catch (Exception e) {
        throw new RuntimeException(e);
    }

}


    public boolean WriteToFile() {
        FileWriter fWriter;
        try{
             fWriter = new FileWriter(Environment.getExternalStorageDirectory()+
                     "/"+filename);
             Log.v("OUTPUT",output.toString());
             fWriter.write(output.toString());
             fWriter.flush();
             fWriter.close();
             return true;
         }catch(Exception e){
                  e.printStackTrace();
                  return false;
         }
    }           
}

どんな助けでも大歓迎です!logcat はファイルを希望どおりに表示しますが、ファイルにアクセスできません。

4

1 に答える 1