Android 将字符串或InputStreamReader转换为InputSource

Android 将字符串或InputStreamReader转换为InputSource,android,xml,Android,Xml,我只是阅读了一些教程,以便从web解析xml提要并将其转换为Listview: URL file = new URL("http://..../file.xml"); SAXParserFactory fabrique = SAXParserFactory.newInstance(); SAXParser parseur = fabrique.newSAXParser(); XMLReader xr = parseur.getXMLReader(); ReglageParseur gesti

我只是阅读了一些教程,以便从web解析xml提要并将其转换为Listview:

URL file = new URL("http://..../file.xml"); 
SAXParserFactory fabrique = SAXParserFactory.newInstance();
SAXParser parseur = fabrique.newSAXParser();
XMLReader xr = parseur.getXMLReader(); 
ReglageParseur gestionnaire = new ReglageParseur();
xr.setContentHandler(gestionnaire);
xr.parse(new InputSource(file.openStream()));
一切都很好,我能够解析xml

我的第二步是将来自web的xml文件存储到手机上的xml文件中,并且只在用户请求时更新它。(事实上,这个xml文件不应该更改,或者可能每6个月更改一次,所以我不想每次都下载它。)

所以,我所做的就是将文件存储在手机上,并根据用户需求进行更新

我可以通过以下方式阅读:

fIn = openFileInput("fichier.xml");
InputStreamReader isr = new InputStreamReader(fIn);
char[] inputBuffer = new char[255];
isr.read(inputBuffer);
String readString = new String(inputBuffer);
所以,现在,一切似乎都很好,我几乎很高兴

现在的问题是,当我想解析手机上的新文件时:

xr.parse(InputSource);
我需要一个InputSource作为参数

所以我的问题是:

如何将手机中的文件转换为输入源? 我成功地拥有了InputStreamReader或字符串,但希望将其转换为InputSource


非常感谢您提供的宝贵帮助

嗯,我不知道Android版本上有哪些构造函数可用,但是有一个带有
Reader
参数的构造函数。你试过了吗

或者,为什么不直接从
InputStream
构建一个InputSource呢?我假设
fIn
FileInputStream
?为什么不直接打电话:

InputSource input = new InputSource(fIn);

将字符串转换为InputSource的最合适行是:

String myStringObject = "Hello this is string object to convert in InputSource";
InputSource inSource =  new InputSource(new StringReader(myStringObject));

非常感谢,我刚刚发现InputSource input=newinputsource(newstringreader(readString));但是你的答案真的更好!哎哟,我做了很蠢的事!非常感谢你让我睁开眼睛!愚蠢的问题:-p