recherche

Maison  >  Questions et réponses  >  le corps du texte

java - inputStream关闭了,还有必要关闭InputStreamReader和BufferedReader吗?

PHP中文网PHP中文网2807 Il y a quelques jours1205

répondre à tous(3)je répondrai

  • PHP中文网

    PHP中文网2017-04-18 09:32:18

    Appelez simplement le close() le plus externe directement


    mise à jour :

    http://docs.oracle.com/javase/8/docs/api/java/io/BufferedReader.html#close--

    Ferme le flux et libère toutes les ressources système qui lui sont associées

    http://docs.oracle.com/javase/8/docs/api/java/io/InputStreamReader.html#close--

    Ferme le flux et libère toutes les ressources système qui lui sont associées

    C'est une chaîne. Vous fermez celle de l'extérieur, et celle de l'extérieur ferme celle de l'intérieur, et celle de l'intérieur ferme celle de l'intérieur


    Bien sûr, si vous insistez sur le fait que l'arrêt peut échouer, vous devez finalement le faire, je n'y peux rien

    .

    répondre
    0
  • 阿神

    阿神2017-04-18 09:32:18

    Si la question est : BufferedReader est fermé, est-il nécessaire de fermer InputStreamReader et InputStream ? , alors ce problème est normal...

    Le flux et le lecteur du package io de Java utilisent tous deux le modèle décorateur. Il vous suffit d'appeler la méthode close du décorateur le plus externe, et il fermera également le flux ou le lecteur qu'il décore.

    Si cela ne fonctionne pas, ouvrez le code source de BufferedReader et regardez la méthode close Vous constaterez qu'elle ferme le lecteur qu'elle décore dans cette méthode

    .

    Peu importe la difficulté, je vous recommande l'article suivant, qui pourra peut-être résoudre vos doutes "Java IO : Streams et l'application du modèle décorateur dessus"

    répondre
    0
  • 怪我咯

    怪我咯2017-04-18 09:32:18

    Il faut tous les fermer, un par un dans l'ordre, de préférence en fin

    finally{
        try{
            br.close();
            isr.close();
            is.close();
        }catch(Exception e){
            ......
        }
    }

    Le dernier niveau créé en premier, le premier niveau créé en dernier

    répondre
    0
  • Annulerrépondre