簡體   English   中英

在File Android中讀取時極其奇怪的NullPointerException

[英]Extremely weird NullPointerException when reading in a File Android

這是代碼:

Thread clientThread = new Thread() {
            @Override
            public void run() {
                try {
                    client = new Client();
                    quest = client.readFile();
                    Log.v("Client string", quest);

                    //File file = new File(myContext.getFilesDir(), "questionnaire.xml");
                    //BufferedWriter bw = new BufferedWriter(new FileWriter(file));
                    //bw.write(quest);
                    File tempFile = File.createTempFile("questionnaire", ".xml");
                    FileOutputStream fout = new FileOutputStream(tempFile);
                    PrintStream out = new PrintStream(fout);
                    out.println(quest);//InputStream stream = new ByteArrayInputStream(quest.getBytes("UTF-8"));
                    //getResources().op
                    try {
                    Serializer serializer = new Persister();
                    responseToQuestionnaire = serializer.read(ResponseToQuestionnaire.class, tempFile);
                    }
                    catch(Exception e) {}
                    Log.v("Let's seeeeee",responseToQuestionnaire.getQuestionnaireTemplate().toString());

                } catch (Exception e1) {
                    e1.printStackTrace();
                }
//              try {
//                  OutputStreamWriter outputStreamWriter = new OutputStreamWriter(
//                          openFileOutput(currentQuestionnaire.getName(),
//                                  Context.MODE_PRIVATE));
//                  outputStreamWriter.write(client.readFile());
//                  outputStreamWriter.close();
//              } catch (IOException e) {
//                  Log.e("Exception", "File write failed: " + e.toString());
//              }
            }
        };
        clientThread.start();

即使quest是一個可以在日志中完美打印的全長字符串,該代碼也會引發Null Pointer異常。 我嘗試了多種保存文件的方法,但是SimpleXML不會序列化字符串,而只是序列化XML文件。

緩沖流不一定要寫入數據,除非必須這樣做。 在調用read()方法之前,請嘗試關閉輸出流。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM