Rumah > Java > javaTutorial > Mengendalikan Kebocoran Sumber dengan Pengimbas dan System.in dalam Java

Mengendalikan Kebocoran Sumber dengan Pengimbas dan System.in dalam Java

Susan Sarandon
Lepaskan: 2024-10-19 06:11:30
asal
320 orang telah melayarinya

Handling Resource Leaks with Scanner and System.in in Java

Jika anda pernah menggunakan Pengimbas Java, anda tahu adalah penting untuk menutupnya untuk mengelakkan kebocoran sumber—terutamanya apabila membaca daripada fail. Tetapi apabila bercakap mengenai System.in, ia berbeza.

Patutkah Anda Tutup System.in?

Anda biasanya tidak mahu menutup System.in kerana berbuat demikian akan menghentikan sebarang input masa hadapan. Ini boleh menimbulkan isu jika bahagian lain program anda masih memerlukan input pengguna.

Penyelesaian Selamat: cuba-dengan-sumber

Sumber cuba-dengan-sumber Java menjadikannya mudah. Ia menutup Pengimbas secara automatik tanpa menutup System.in, membolehkan anda membaca input pengguna dengan selamat.

Mengapakah IDE Beri Amaran Mengenai Kebocoran Sumber?

Sesetengah IDE (seperti Eclipse atau IntelliJ) mungkin menandakan kemungkinan kebocoran sumber dengan Pengimbas, memperlakukan semua kejadian sama. Ini boleh mengelirukan, terutamanya apabila menggunakan System.in, tetapi anda boleh mengabaikan amaran ini dengan yakin.

Amalan Terbaik:

Gunakan cuba-dengan-sumber untuk memastikan Pengimbas ditutup dengan betul sambil memastikan System.in terbuka.
Elakkan menutup System.in secara manual; biarkan JVM mengendalikannya.

Contoh Kod:

try (Scanner objName = new Scanner(System.in)) {
    System.out.println("What's your name?");
    String userName = objName.nextLine();

    System.out.println("Hello, " + userName + "!");
}
Salin selepas log masuk

Atas ialah kandungan terperinci Mengendalikan Kebocoran Sumber dengan Pengimbas dan System.in dalam Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan