Java 将BufferedReader转换为InputStream

Java 将BufferedReader转换为InputStream,java,android,inputstream,bufferedstream,Java,Android,Inputstream,Bufferedstream,我刚刚完成了一系列代码的编写,这些代码在从内部资源读取时运行良好:)) 问题是如何将“BufferedReader”的类型更改为“InputStream”来解析数据??? 还是做这种事的最好方法??? 抱歉英语不好:)为什么不直接使用xmlFactory.setInput(Reader)呢?@JonSkeet您介意具体说明一下吗?给我举个例子:/对不起,我的意思是xmlPullParser.setInput(reader)。基本上,你的代码没有理由必须采用输入流——如果你只是将它改为采用读取器,

我刚刚完成了一系列代码的编写,这些代码在从内部资源读取时运行良好:))

问题是如何将“BufferedReader”的类型更改为“InputStream”来解析数据??? 还是做这种事的最好方法???
抱歉英语不好:)

为什么不直接使用
xmlFactory.setInput(Reader)
呢?@JonSkeet您介意具体说明一下吗?给我举个例子:/对不起,我的意思是
xmlPullParser.setInput(reader)
。基本上,你的代码没有理由必须采用
输入流
——如果你只是将它改为采用
读取器
,那就好了。@JonSkeet谢谢你,伙计:))只是另一个线索,我们会很好:)读取器采用BufferedReader,或者我必须使用它?一个
BufferedReader
是一个
读取器
(请阅读文档)。
try {
        SeriesDataXMLPullParserHandler seriesDataXmlPullParserHandler = new SeriesDataXMLPullParserHandler();
        entries = seriesDataXmlPullParserHandler.parse(getAssets().open("series_box.xml"));
    } catch (IOException e) {
        e.printStackTrace();
        Log.d("errorOpeningSeries", e.getMessage());
    }
    Collections.sort(entries, new Comparator<Entry>() {
        @Override
        public int compare(Entry entryOne, Entry entryTwo) {
            return (entryOne.getSeriesName().compareTo(entryTwo.getSeriesName()));
        }
    });
    listView.setAdapter(new MyAdapter(this, R.id.details_SeriesName, entries));
public class SeriesDataXMLPullParserHandler {
List<Entry> entries;
private Entry entry;
private String text;

public SeriesDataXMLPullParserHandler() {
    entries = new ArrayList<>();
}

public List<Entry> getEntries() {
    return entries;
}

public List<Entry> parse(InputStream inputStream) {
    XmlPullParserFactory xmlPullParserFactory = null;
    XmlPullParser xmlPullParser = null;
    try {
        xmlPullParserFactory = XmlPullParserFactory.newInstance();
        xmlPullParserFactory.setNamespaceAware(true);
        xmlPullParser = xmlPullParserFactory.newPullParser();

        xmlPullParser.setInput(inputStream, null);

        int eventType = xmlPullParser.getEventType();
        while (eventType != XmlPullParser.END_DOCUMENT) {
            String tagname = xmlPullParser.getName();
            switch (eventType) {
                case XmlPullParser.START_TAG:
                    if (tagname.equalsIgnoreCase("series")) {
                        entry = new Entry();
                    }
                    break;

                case XmlPullParser.TEXT:
                    text = xmlPullParser.getText();
                    break;

                case XmlPullParser.END_TAG:
                    if (tagname.equalsIgnoreCase("series")) {
                        entries.add(entry);
                    } else if (tagname.equalsIgnoreCase("id")) {
                        entry.setId(text);
                    } else if (tagname.equalsIgnoreCase("Actors")) {
                        entry.setActors(text);
                    }else if (tagname.equalsIgnoreCase("Genre")) {
                        entry.setGenre(text);
                    } else if (tagname.equalsIgnoreCase("IMDB_ID")) {
                        entry.setImdb_id(text);
                    } else if (tagname.equalsIgnoreCase("Language")) {
                        entry.setLanguage(text);
                    } else if (tagname.equalsIgnoreCase("Network")) {
                        entry.setNetwork(text);
                    } else if (tagname.equalsIgnoreCase("NetworkID")) {
                        entry.setNetwork_id(text);
                    } else if (tagname.equalsIgnoreCase("Overview")) {
                        entry.setOverview(text);
                    } else if (tagname.equalsIgnoreCase("SeriesID")) {
                        entry.setSeriesId(text);
                    } else if (tagname.equalsIgnoreCase("SeriesName")) {
                        entry.setSeriesName(text);
                    } 
                    break;

                default:
                    break;
            }
            eventType = xmlPullParser.next();
        }

    } catch (XmlPullParserException | IOException e) {
        e.printStackTrace();
    }

    return entries;
}
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(url.openStream()));