2011-06-18 13 views
-1

編集:解決済み変数を範囲外に宣言しました。基本的なJavaのエラー処理と変数エラー

cannot find symbol 
symbol : variable bos 
location: class steganography 
    byte[] bytes = bos.toByteArray(); 

問題のあるコード::より多くの情報を提供していないため

//We'll use this to read the file in 
FileInputStream fis = new FileInputStream(file); 
//We'll use this to push the file out 
ByteArrayOutputStream bos = new ByteArrayOutputStream(); 
try { 
    for (int readNum; (readNum = fis.read(buf)) != -1;) { 
    bos.write(buf, 0, readNum); 
    //no doubt here is 0 
    /*Writes len bytes from the specified byte array starting at offset off to this byte array output stream.*/ 
    System.out.println("read " + readNum + " bytes,"); 
    } 
} catch (IOException ex) { 
System.out.println(ex); 
    //Logger.getLogger(ConvertImage.class.getName()).log(Level.SEVERE, null, ex); 
} 

申し訳ありませんが、私はJavaのN00Bだと言うことコンパイルしようとしたときに

は、だから私はエラーを取得します。

+0

カット&ペーストしたルーチンに違反コードが表示されないため、アドバイスはできません。私の推測では、それはスコープの問題です:変数名はそのコンテキストでは見えるが、そうではないと思います。 – duffymo

答えて

1

あなたが入れているように "怒っているコード"であるかどうかは分かりません。これがどこにあるのかを教えてください:

byte[] bytes = bos.toByteArray(); 
+0

申し訳ありませんが私の問題を修正 – Alex

1

可能であれば、完全な問題とその解決策を見ていただければ幸いです。これは、この質問と回答が後で視聴者に役立つようになります:) bosが範囲外に宣言されている可能性があります。そのため、コンパイラはその特定の型とそのメソッドを識別できませんでした。あなたのやり方のように聞こえますか?

関連する問題