try-with-resources (AutoCloseable)
Käyttäkää try-with-resources-rakennetta ja AutoCloseable-rajapintaa resurssien turvalliseen hallintaan.
try-with-resources (AutoCloseable) on ilmainen Java Academy-oppitunti CoddyKitissä. Tämä on oppitunti 2/3. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Java Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Java Academy-kurssilla on yhteensä 3 oppituntia.
Johdanto
Tiedostojen ja socket-yhteyksien kaltaiset resurssit on suljettava. try-with-resources sulkee ne automaattisesti, jos ne toteuttavat AutoCloseable-rajapinnan.
AutoCloseable-käsite
Jokaista AutoCloseable-rajapinnan toteuttavaa luokkaa voidaan käyttää. Yleisiä esimerkkejä ovat FileReader, BufferedReader ja JDBC-yhteydet.
Koodi: FileReader ja automaattinen sulkeminen
Tämä FileReader suljetaan automaattisesti try-lohkon päätyttyä, vaikka tapahtuisi poikkeus.
public class Main {
public static void main(String[] args) {
try (java.io.FileReader fr = new java.io.FileReader("test.txt")) {
int ch = fr.read();
System.out.println("First char code=" + ch);
} catch (java.io.IOException e) {
System.out.println("Error: " + e.getMessage());
}
}
}
Useita resursseja
Voitte avata useita resursseja yhdessä try-lohkossa. Ne suljetaan automaattisesti luomisen käänteisessä järjestyksessä.
Koodi: kaksi resurssia
Sekä BufferedReader että PrintWriter suljetaan automaattisesti luomisen käänteisessä järjestyksessä.
public class Main {
public static void main(String[] args) {
try (java.io.BufferedReader br = new java.io.BufferedReader(new java.io.FileReader("test.txt"));
java.io.PrintWriter pw = new java.io.PrintWriter("out.txt")) {
String line = br.readLine();
pw.println(line);
} catch (java.io.IOException e) {
System.out.println("Error: " + e.getMessage());
}
}
}
Koodi: mukautettu AutoCloseable
Voitte toteuttaa AutoCloseable-rajapinnan itse. close()-metodia kutsutaan automaattisesti.
public class Main {
static class MyRes implements AutoCloseable {
public void use() { System.out.println("Using resource"); }
public void close() { System.out.println("Closed resource"); }
}
public static void main(String[] args) {
try (MyRes r = new MyRes()) {
r.use();
}
}
}
try-with-resources-tarkistus
Pikakysymys: mikä on try-with-resources-rakenteen tärkein hyöty?
Kertaus
Kertaus: try-with-resources toimii AutoCloseable-rajapinnan kanssa. Se varmistaa tiedostojen, virtojen ja mukautettujen resurssien turvallisen sulkemisen.
Opi Java tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 104
- Oppitunnit
- 374
Usein kysytyt kysymykset
Onko oppitunti ”try-with-resources (AutoCloseable)” ilmainen?
Kyllä – oppitunnin ”try-with-resources (AutoCloseable)” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Java Academy-kurssin, päivitä CoddyKit PROhon. Java Academy-kurssilla on yhteensä 3 oppituntia.
Mitä opin oppitunnilla ”try-with-resources (AutoCloseable)”?
Käyttäkää try-with-resources-rakennetta ja AutoCloseable-rajapintaa resurssien turvalliseen hallintaan. Harjoittelet Java Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Java Academy-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Java Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 2/3.
Kuinka kauan ”try-with-resources (AutoCloseable)”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Java Academy-oppitunnilla?
Kyllä. Jokainen Java Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Poikkeusten heittäminen ja omat poikkeukset
- try-with-resources (AutoCloseable)
- Defensiivinen ohjelmointi