Java (错误位置未知)com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException:3字节UTF-8序列的字节2无效

Java (错误位置未知)com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException:3字节UTF-8序列的字节2无效,java,pdf,utf-8,xml-parsing,apache-fop,Java,Pdf,Utf 8,Xml Parsing,Apache Fop,我知道这个问题以前被问过好几次,但所有的选择似乎都不适合我。 我正在尝试从rss创建新闻提要,并将其写入pdf。 pdf已创建,但为空,我得到一个 (错误位置未知)com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException:3字节UTF-8序列的字节2无效。 错误。 这些是我的课程: 获取提要: import java.io.IOException; import java.net.HttpURLConnec

我知道这个问题以前被问过好几次,但所有的选择似乎都不适合我。 我正在尝试从rss创建新闻提要,并将其写入pdf。 pdf已创建,但为空,我得到一个 (错误位置未知)com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException:3字节UTF-8序列的字节2无效。 错误。 这些是我的课程:

获取提要:

import java.io.IOException;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;

import com.sun.syndication.feed.synd.SyndFeed;
import com.sun.syndication.io.FeedException;
import com.sun.syndication.io.SyndFeedInput;
import com.sun.syndication.io.XmlReader;

public class GetFeed {
    private String adress;
    private URL url;

    public GetFeed(String adress) {
        super();
        this.adress = adress;
        try {
            setUrl();
        } catch (MalformedURLException e) {
            System.out.println("This isn't a correct url");
            e.printStackTrace();
        }
    }

    public void setUrl() throws MalformedURLException {
        url = new URL(adress);
    }

    public SyndFeed getFeed() throws IOException, IllegalArgumentException, 
 FeedException {
        HttpURLConnection httpcon = (HttpURLConnection) url.openConnection();
        SyndFeedInput input = new SyndFeedInput();
        SyndFeed feed = input.build(new XmlReader(httpcon));
        return feed;
   }
feedcreation的示例:

public void homeland() {
    GetFeed homeland = new GetFeed("http://www.standaard.be/rss/section/1f2838d4-99ea-49f0-9102-138784c7ea7c");
    try {
        feed = homeland.getFeed();
        WriteToXml xml = new WriteToXml(feed);
    } catch (IllegalArgumentException | IOException |FeedException e) {
        e.printStackTrace();
    } 
}
写入XML文件:

import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;

import com.sun.syndication.feed.synd.SyndFeed;
import com.sun.syndication.io.FeedException;
import com.sun.syndication.io.SyndFeedOutput;

public class WriteToXml {

    public WriteToXml(SyndFeed feed) throws IOException, FeedException {
        Writer writer = new FileWriter("newsfeed.xml", true);
        SyndFeedOutput output = new SyndFeedOutput();
        output.output(feed, writer);
        writer.close();
    }
}
创建pdf

public class CreatePdf {

public void convertToPDF() throws IOException, FOPException, TransformerException {
    File xsltFile = new File("template.xsl");
    StreamSource xmlSource = new StreamSource(new File("newsfeed.xml"));
    FopFactory fopFactory = FopFactory.newInstance(new File(".").toURI());
    FOUserAgent foUserAgent = fopFactory.newFOUserAgent();
    OutputStream out;
    out = new java.io.FileOutputStream("newsfeed.pdf");

    try {
        Fop fop = fopFactory.newFop(MimeConstants.MIME_PDF, foUserAgent, out);

        TransformerFactory factory = TransformerFactory.newInstance();
        Transformer transformer = factory.newTransformer(new StreamSource(xsltFile));

        Result res = new SAXResult(fop.getDefaultHandler());

        transformer.transform(xmlSource, res);
    } finally {
        out.close();
    }
}
}
主应用程序:

import java.io.IOException;

import javax.xml.transform.TransformerException;

import org.apache.fop.apps.FOPException;

public class NewsfeedApp {

    public static void main(String[] args) {
        CreateFeeds feeds = new CreateFeeds();
        CreatePdf pdf = new CreatePdf();
        try {
            pdf.convertToPDF();
        } catch (FOPException | IOException | TransformerException e) {
            e.printStackTrace();
        }
    }
}
非常感谢您的帮助
很抱歉,我不是本地人。

你能粘贴完整的stacktrace吗?(错误位置未知)com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException:3字节UTF-8序列的字节2无效。