在Java中,要正确关闭OutputStreamWriter资源,你需要使用try-with-resources语句或者在finally块中关闭流。这两种方法都可以确保在发生异常时,资源能够被正确关闭。
- 使用try-with-resources语句:
import java.io.FileOutputStream; import java.io.OutputStreamWriter; import java.nio.charset.StandardCharsets; public class Main { public static void main(String[] args) { try (OutputStreamWriter writer = new OutputStreamWriter(new FileOutputStream("output.txt"), StandardCharsets.UTF_8)) { // 在这里写入数据到writer writer.write("Hello, World!"); } catch (IOException e) { // 处理异常 e.printStackTrace(); } } }
- 使用finally块:
import java.io.FileOutputStream; import java.io.OutputStreamWriter; import java.nio.charset.StandardCharsets; public class Main { public static void main(String[] args) { OutputStreamWriter writer = null; try { writer = new OutputStreamWriter(new FileOutputStream("output.txt"), StandardCharsets.UTF_8); // 在这里写入数据到writer writer.write("Hello, World!"); } catch (IOException e) { // 处理异常 e.printStackTrace(); } finally { if (writer != null) { try { writer.close(); } catch (IOException e) { // 处理关闭流时的异常 e.printStackTrace(); } } } } }
无论使用哪种方法,都应该确保在操作完成后关闭OutputStreamWriter,以释放系统资源。