Java 阅读文本文档';URL中的内容始终等于null

Java 阅读文本文档';URL中的内容始终等于null,java,android,Java,Android,每当我试图从包含版本字符串的Dropbox获取文本文档时,它都会说它等于null,尽管它应该等于0.6.48。我尝试了许多不同的方法来获取文件,但它总是返回null。代码: new Thread() { public void run() { try { URL textUrl = new URL(UPDATE_API); // UPDATE_API = "https://dl.dropboxuser

每当我试图从包含版本字符串的Dropbox获取文本文档时,它都会说它等于
null
,尽管它应该等于
0.6.48
。我尝试了许多不同的方法来获取文件,但它总是返回
null
。代码:

new Thread() {
            public void run() {
                try {
                    URL textUrl = new URL(UPDATE_API); // UPDATE_API = "https://dl.dropboxusercontent.com/s/zjlxzypgqsxvtr0/version.txt?dl=1"
                    BufferedReader bufferReader = new BufferedReader(new InputStreamReader(textUrl.openStream()));
                    String StringBuffer;
                    String stringText = "";
                    while ((StringBuffer = bufferReader.readLine()) != null) {
                        stringText += StringBuffer;
                    }
                    bufferReader.close();
                    Soundboard.REMOTE_VERSION = stringText;
                } catch (MalformedURLException e) {
                    e.printStackTrace();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }.start();

我错过了什么?我正在为API 23进行构建。我已将
放在我的Android清单中。

您的代码对我有效,几乎没有任何更改:

String UPDATE_API = "https://dl.dropboxusercontent.com/s/zjlxzypgqsxvtr0/version.txt?dl=1";
    private BufferedReader bufferReader = null;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);


    new Thread() {
        public void run() {
            try {
                URL textUrl = new URL(UPDATE_API);
                bufferReader = new BufferedReader(new InputStreamReader(textUrl.openStream()));
                String StringBuffer = "";
                StringBuilder stringText = new StringBuilder();
                while ((StringBuffer = bufferReader.readLine()) != null) {
                    stringText.append(StringBuffer);
                }

                Log.d("--->", stringText.toString());
                Soundboard.REMOTE_VERSION = stringText;
            } catch (MalformedURLException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            } finally {
                try {
                    bufferReader.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }.start();
}
尝试在Try..finally中关闭
BufferedReader


使用
StringBuilder
而不是
String
进行连接

对不起,我看不到任何返回null的内容。@greenapps每当我试图打印值时,它总是会说
,原因是:java.lang.NullPointerException:println需要一条消息
什么的值?最好添加print语句,这样我们就可以看到您的操作了打印出我存储它的变量。您在何时何地这样做?如果使用Log.d,则不会收到println需要消息的消息。