相关疑难解决方法(0)

如何将Byte数组转换为ByteArrayOutputStream

我需要将一个字节数组转换为ByteArrayOutputStream,以便我可以在屏幕上显示它.

java byte bytearrayoutputstream

23
推荐指数
1
解决办法
4万
查看次数

如何以安全可读的方式处理我知道永远不会抛出的IOException?

"可能出错的事情与不可能出错的事情之间的主要区别在于,当一件不可能出错的事情出错时,通常会发现无法进入或修复." -道格拉斯·亚当斯

我有一个类FileItems.FileItems构造函数接受一个文件,如果该文件不存在则抛出异常(FileNotFoundException).该类的其他方法也涉及文件操作,因此具有抛出FileNotFoundException的能力.我想找到一个更好的解决方案.一种解决方案,不需要其他程序员处理所有这些极不可能的FileNotFoundExceptions.

事情的事实:

  1. 该文件已被检查存在,但存在极不可能的可能性,通过一些重大的现实错误,在调用此方法之前可能会删除该文件.
  2. 由于1发生的概率非常不同且不可恢复,我宁愿定义一个未经检查的异常.
  3. 该文件已经被发现存在,迫使其他程序员编写代码并捕获已检查的FileNotFoundException,这似乎很乏味且无用.该程序应该在那时完全失败.例如,计算机总是有可能着火,但没有人疯狂到足以迫使其他程序员将其作为检查异常来处理.
  4. 我不时遇到这种异常问题,并且每次遇到这个问题时定义自定义未经检查的异常(我的旧解决方案)都很烦人并且增加了代码膨胀.

代码目前看起来像这样

 public Iterator getFileItemsIterator() {
    try{
        Scanner sc = new Scanner(this.fileWhichIsKnowToExist);
        return new specialFileItemsIterator(sc);        
       } catch (FileNotFoundException e){ //can never happen} 

    return null;
 }
Run Code Online (Sandbox Code Playgroud)

如何在不定义自定义未经检查的FileNotFoundException的情况下更好地完成此操作?有没有办法将checkedException转换为uncheckException?

java exception-handling exception ioexception

20
推荐指数
4
解决办法
2万
查看次数

为什么 Java 11 在 ByteArrayOutputStream 类中添加了 writeBytes?(byte[] b) 方法,而 write?(byte[] b) 方法却做了同样的事情?

Oracle从 Java 11 开始writeBytes\xe2\x80\x8b(byte[] b)向该类添加了方法。ByteArrayOutputStream该方法采用字节数组并将其写入ByteArrayOutputStream. 然而,ByteArrayOutputStream扩展OutputStream类定义了write\xe2\x80\x8b(byte[] b)做同样的事情。为什么 Java 需要一个新方法来做到这一点?

\n

java outputstream bytearrayoutputstream

3
推荐指数
1
解决办法
620
查看次数