Android Raw XML文件插入注释

时间:2013-10-03 00:17:44

标签: android xml

我有一个方法可以将/res/raw/的XML文件复制到本地存储中。但是,它最终复制的文件生成了一个额外的注释,该注释不在原始XML文件中:

<!-- From: file:/C:/Users/William/Documents/Projects/Home/KanjiFixProject/KanjiFix/src/main/res/raw/fallback_fonts.xml -->

它似乎给出了编译项目时文件存在位置。 See here for the full file text.

导致此文本出现的原因是什么,以及如何阻止它?以下是我用来将文件从/res/raw/复制到磁盘上的方法:

private void copyRawResourceToFile(int resource, File outputFile) throws IOException {
    InputStream stream = getResources().openRawResource(resource);
    FileOutputStream output = null;
    byte[] buffer = new byte[1024];
    int read = 0;
    try {
        output = new FileOutputStream(outputFile);

        while ((read = stream.read(buffer)) > 0) {
            output.write(buffer, 0, read);
        }

        output.flush();
    }
    finally {
        stream.close();

        if (output != null) {
            output.close();
        }
    }
}

2 个答案:

答案 0 :(得分:0)

如果找不到以编程方式阻止流插入该值的方法,为什么不在发送到OutputStream之前逐行使用BufferReader和readLine,这样你就有机会验证该行了不要以“&lt; - From:file:”开头,否则只需忽略该行。

这可以解决问题,但我不知道它是否真的是最好的方法,因为在阅读时可能有一种方法以编程方式跳过该extraline ......

希望这有助于......

问候!

答案 1 :(得分:0)

Android Studio的较新版本(截至本文的v0.8.14)已解决此问题。