package com.cordys.report;
import java.io.FileInputStream;
import org.apache.commons.codec.binary.Base64;
public class Encode {
// file path ex : C:\Program Files\Cordys\Web\reports\I0001180.pdf
public static String encodeFileStream(String filePath) {
try {
FileInputStream fin = new FileInputStream(
"E:/CSS Document/Test.pdf");
StringBuffer sb = new StringBuffer();
int lineLength = 72;
byte[] buf = new byte[lineLength/4 * 3];
while (true) {
int len = fin.read(buf);
if (len <= 0) {
break;
}
// new Base64().encode(byte);
// sb.append(Base64.encode(buf));
// sb.append(Base64.encodeBase64(buf));
Base64 b = new Base64();
sb.append(b.encode(buf));
return sb.toString();
}
}
catch (Exception e) {
return e.getMessage();
}
}
}
ответ
Если вы «сломаете» из цикла while
, нет оператора возврата. Это твоя проблема. Поскольку ваш метод объявляет, что он возвращает строку, каждый путь потока управления должен возвращать значение.
Я бы добавил, что использование цикла while в качестве 'goto' должно также приводить к ошибке компиляции. В идеальном мире. –
@ Никита Не шучу ... Я слышал, что это шепот ... Я мама, я мама (давайте проигнорируем, ради этой шутки, что у lisp нет компилятора ...) –
Забавная идея. Я не думаю, что это намеренно. – maaartinus
В случае break
, выполненных на самой первой итерации, ничего не возвращается. Это то, что компилятор пытается вам рассказать.
Есть некоторые другие довольно серьезные проблемы:
return e.getMessage()
просто нет смыслаb.encode(buf)
не так в случае, если менееbuf.length
байт читается
- 1. java: 14: error: missing return statement}
- 2. error: missing return statement 3
- 3. Java "missing return statement"
- 4. Java Missing Return Statement - Inheritance
- 5. ./ucgenAlanı.java:23: error: missing return statement}
- 6. IsPrime? - missing return statement
- 7. NumberVerify: missing return statement
- 8. AsyncTask missing return statement
- 9. Ошибка в Java: "missing Return statement"
- 10. Java sample login - missing return
- 11. Проблема с рекурсивными методами ("missing return statement")
- 12. Ошибка «return statement missing» в NetBeans 6.9.1
- 13. SQL CASE STATEMENT - MISSING OPERATOR ERROR
- 14. vba sql statement error "missing operator"
- 15. Java Boolean return statement
- 16. return statement вне функции javascript error
- 17. return made statement error in json array
- 18. Продолжайте получать сообщение об ошибке «missing return statement»
- 19. Java return statement странное поведение
- 20. java boolean method return statement
- 21. Ошибка Java "add return statement"
- 22. "SyntaxError: missing, before statement"
- 23. javascript missing statement woes
- 24. return statement
- 25. Java if statement terminated error
- 26. Java, если Else Statement Error
- 27. Python, TypeError: missing positional statement
- 28. Confusing return statement
- 29. if statement return true
- 30. Java «.class« expected »for return statement
Каков ваш вопрос? – Satya
Отформатируйте свой код – Elalfer
Добро пожаловать в stackoverflow.com. Пожалуйста, используйте значок «Код» в параметрах форматирования, чтобы форматировать свой код аккуратно. – jetru