gpt4 book ai didi

Java,用什么代替PrintStream来获取异常?

转载 作者:行者123 更新时间:2023-12-02 00:42:38 26 4
gpt4 key购买 nike

我正在网络驱动器上创建一个文件,然后向其中添加数据。有时写入该文件会失败。有没有一种好的方法可以在每次将数据保存到文件之前检查文件是否可访问,或者是否可以在之后检查数据是否已保存?

编辑:现在我在代码中使用带有 PrintStream 的 try-catch block :

        try
{
logfile = new File(new File(isic_log), "log_" + production);
//nasty workaround - we'll have a file the moment we assign an output stream to it
if (!logfile.exists())
{
prodrow = production;
}

out = new FileOutputStream(logfile.getPath(), logfile.exists());
p = new PrintStream(out);
if (prodrow != "")
{
p.println (prodrow);
}
p.println (chip_code + ":" + isic_number);
p.close();
}
catch (Exception e)
{
logger.info("Got exception while writing to isic production log: " + e.getMessage());
}

那么问题可能出在 PrintStream 上吗? (PrintWriter and PrintStream never throw IOExceptions)

最佳答案

我会使用普通的 BufferedWriter 并根据需要自己添加换行符。

<小时/>

如果出现错误,正常的 FileOutputStream 操作应该抛出 IOException。

据我所知,唯一的异常(exception)是 PrintWriter,它不会抛出异常。相反,您需要调用 checkError(),但它不会告诉您错误是什么或何时发生。

我建议您在这种情况下不要使用 PrintWriter。

关于Java,用什么代替PrintStream来获取异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5880816/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com