Базовая обработка ошибок Java плюс ошибка переменной - PullRequest
0 голосов
/ 18 июня 2011

Редактировать: Решено Я объявил переменную вне области видимости.

Итак, я получаю сообщение об ошибке при попытке компилировать:

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.

Ответы [ 2 ]

1 голос
/ 18 июня 2011

Было бы неплохо увидеть полную проблему, а также решение, если это возможно!Это делает этот вопрос и ответ более полезными для более поздних зрителей:)

Похоже, вы, вероятно, объявили переменную bos вне области видимости, и поэтому компилятор не смог идентифицировать этот конкретный тип и его методы.Это похоже на то, что вы сделали?

1 голос
/ 18 июня 2011

Не уверен, что это «оскорбительный код», как вы его выразили.Можете ли вы показать нам, где это:

byte[] bytes = bos.toByteArray(); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...