Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/211.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 返回null的Bufferedreader_Java_Android_Bufferedreader_Readline - Fatal编程技术网

Java 返回null的Bufferedreader

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

我试图从文本中读取一个网址,然后让应用程序打开该地址,我的缓冲阅读器似乎正确地读取了这些行,但readline始终返回空值

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();