Java 返回null的Bufferedreader
我试图从文本中读取一个网址,然后让应用程序打开该地址,我的缓冲阅读器似乎正确地读取了这些行,但readline始终返回空值Java 返回null的Bufferedreader,java,android,bufferedreader,readline,Java,Android,Bufferedreader,Readline,我试图从文本中读取一个网址,然后让应用程序打开该地址,我的缓冲阅读器似乎正确地读取了这些行,但readline始终返回空值 String rsslink = null; InputStream is = getResources().openRawResource(R.raw.xmlsource); BufferedReader br = new BufferedReader(new InputStreamReader(is)); try { while
String rsslink = null;
InputStream is = getResources().openRawResource(R.raw.xmlsource);
BufferedReader br = new BufferedReader(new InputStreamReader(is));
try {
while ((rsslink = br.readLine()) != null)
{
}
}
catch (IOException e)
{
e.printStackTrace();
}
String RSS_LINK = rsslink;
Log.d(Constants.TAG, "Service started");
List<RssItem> rssItems = null;
try
{
XMLRssParser parser = new XMLRssParser();
rssItems = parser.parse(getInputStream(RSS_LINK));
String rsslink=null;
InputStream is=getResources().openRawResource(R.raw.xmlsource);
BufferedReader br=新的BufferedReader(新的InputStreamReader(is));
试一试{
而((rsslink=br.readLine())!=null)
{
}
}
捕获(IOE异常)
{
e、 printStackTrace();
}
字符串RSS_LINK=rsslink;
Log.d(Constants.TAG,“服务已启动”);
列表rssItems=null;
尝试
{
XMLRssParser parser=新的XMLRssParser();
rssItems=parser.parse(getInputStream(RSS_链接));
您将得到最后一行null rsslink
。
你需要改变你的循环
try {
while ((rsslink = br.readLine()) != null)
{
}
}
到
使用以下命令:
String rsslink = "";
InputStream is = getResources().openRawResource(R.raw.xmlsource);
BufferedReader br = new BufferedReader(new InputStreamReader(is));
String line = null;
try {
while ((line = br.readLine()) != null)
{
rsslink +=line ;
}
}
catch (IOException e)
{
e.printStackTrace();
}
String RSS_LINK = rsslink;
Log.d(Constants.TAG, "Service started");
List<RssItem> rssItems = null;
try
{
XMLRssParser parser = new XMLRssParser();
rssItems = parser.parse(getInputStream(RSS_LINK));
@user2310289是的,你是正确的。谢谢更新了你的建议。它确实做到了这一点,它使rsslink链接两次,然后当它退出时,它将rsslink返回null。非常感谢,现在我需要弄清楚如何让它使用分隔符处理文件中的多个链接。谢谢,我正在尝试添加一个分隔符,以便它可以n选取我尝试添加的多个链接
read.useDelimiter(;)
到bufferedreader,但这不起作用。任何指针??已经尝试过你的代码在我这边工作,你是否将xml放入原始文件夹。解决方案是他们建议的任何方法。它不是xml文件,而是文本文件。谢谢你的回答,它也起作用了。不幸的是,我只能选择一个解决方案。但是,非常感谢,谢谢感谢您早些时候的帮助。由于它正在处理rss xml链接,我正在尝试让它读取多个网址。我尝试使用分隔符,但它似乎不起作用。请您帮助我,并提出另一个问题。
String rsslink = "";
InputStream is = getResources().openRawResource(R.raw.xmlsource);
BufferedReader br = new BufferedReader(new InputStreamReader(is));
String line = null;
try {
while ((line = br.readLine()) != null)
{
rsslink +=line ;
}
}
catch (IOException e)
{
e.printStackTrace();
}
String RSS_LINK = rsslink;
Log.d(Constants.TAG, "Service started");
List<RssItem> rssItems = null;
try
{
XMLRssParser parser = new XMLRssParser();
rssItems = parser.parse(getInputStream(RSS_LINK));
StringBuilder rsslink = new StringBuilder();
InputStream is = getResources().openRawResource(R.raw.xmlsource);
BufferedReader br = new BufferedReader(new InputStreamReader(is));
String line = null;
try {
while ((line = br.readLine()) != null)
{
rsslink.append(line);
}
}
catch (IOException e)
{
e.printStackTrace();
}
String RSS_LINK = rsslink.toString();