読者です 読者をやめる 読者になる 読者になる

ファイル入出力 Nullの挿入

Java

基本的にNULLを処理しようとするとNullPointerExceptionが発生してしまいます。
そのためNULLにならないように常に考慮しなければなりません。

今まで紹介したファイル入出力でNULLデータを書きこむとどうなるか、テストを行ってみました。

    public void testNullWrite(){
        String data = null;
        try{
            SimpleFileInOut.write(makeOutFileName(),data);
            count++;
        }catch(NullPointerException e){
            System.out.println("nullpo SimpleFileInOut");
        }

        try{
            BufferedFileInOut.write(makeOutFileName(),data);
            count++;
        }catch(NullPointerException e){
            System.out.println("nullpo BufferedFileInOut");
        }

        try{
            StreamFileInOut.write(makeOutFileName(),data);
            count++;
        }catch(NullPointerException e){
            System.out.println("nullpo StreamFileInOut");
        }

        try{
            BufferedStreamFileInOut.write(makeOutFileName(),data);
            count++;
        }catch(NullPointerException e){
            System.out.println("nullpo BufferedStreamFileInOut");
        }

        try{
            FileUtils.write(new File(makeOutFileName()), data);
        }catch(NullPointerException e){
            System.out.println("nullpo FileUtils");
        }catch (IOException e) {
            e.printStackTrace();
        }
    }

処理結果

nullpo SimpleFileInOut
nullpo BufferedFileInOut
nullpo StreamFileInOut
nullpo BufferedStreamFileInOut
testNullWrite: 3ms.

つまり、ApacheIOのFileUtilsでのみNULLデータを書きこんでもぬるぽが起きない。
ちなみに0Byteのファイルが作成されます。