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

时间:2019-05-12 23:09:06

标签: java android

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

Screenshot of Android Studio with variables and Chrome displaying the file

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

A,我完全忘记了一些事情……

1 个答案:

答案 0 :(得分:0)

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

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