对于一个Android应用程序,我试图通过URL.openStream将文件读取为字符串。将来,这将是一个远程URL,但就目前而言,我认为我将尝试使用本地文件进行测试。我非常确定网址是正确的,因为当我将网址剪切并粘贴到Chrome中后,它会很好地显示文件。屏幕截图显示了变量的值以及文件的Chrome显示:

java - Android Studio的电话模拟器无法读取您的本地文件系统:URL.openStream引发FileNotFoundException-LMLPHP

static private String readFromURL( String urlstr )
{
    StringBuilder sb = new StringBuilder();

    try
    {
        URL url = new URL( urlstr );
        InputStream strm = url.openStream();
        InputStreamReader rdr = new InputStreamReader( strm );
        BufferedReader reader = new BufferedReader( rdr );
        String line;
        while ( (line = reader.readLine()) != null )
            sb.append( line );
    }
    catch ( Exception ex )
        { return "Error during read from server: " + ex.toString(); }

    return sb.toString();
}


las,我完全忘记了一些事情...

最佳答案

OMG,我刚刚意识到电话仿真器无法访问我的本地文件系统。这意味着我无法进行这样的“简单”测试,因此必须始终从Internet上的真实URL获取数据。

否则我必须在启动时将一些数据复制到电话仿真器中,但这会使事情变得不必要地复杂。

07-28 02:34
查看更多