|
|
|
OutputStream хэш-код
|
|||
|---|---|---|---|
|
#18+
Как можно можно вычистлить контрольную сумму файла Класс outputstream; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2012, 16:10:23 |
|
||
|
OutputStream хэш-код
|
|||
|---|---|---|---|
|
#18+
CheckedOutputStream ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2012, 16:13:15 |
|
||
|
OutputStream хэш-код
|
|||
|---|---|---|---|
|
#18+
BlazkowiczCheckedOutputStream ? Данные берутся от сюда java.lang.Object java.io.OutputStream javax.servlet.ServletOutputStream Так что не получается при кстовать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2012, 16:21:27 |
|
||
|
OutputStream хэш-код
|
|||
|---|---|---|---|
|
#18+
-=Koba=-Данные берутся от сюда java.lang.Object Это как? -=Koba=- java.io.OutputStream javax.servlet.ServletOutputStream Так что не получается при кстовать Оборачивать надо а не кастовать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2012, 16:27:38 |
|
||
|
OutputStream хэш-код
|
|||
|---|---|---|---|
|
#18+
Давайте попробую объяснить. OutputStream это не "источник данных". Данные не могут оттуда "браться". OutputStream это интерфейс для записи данных куда либо. Для того чтобы подсчитать контрольную сумму, нужно обернуть целевой OutputStream в CheckedOutputStream и провести запись через тот же самый интерфейс. В результатне CheckedOutputStream делегирует запись в "целевой OutputStream", но при этом подсчитает и сумму, которую можно получить по окончании записи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2012, 16:30:34 |
|
||
|
OutputStream хэш-код
|
|||
|---|---|---|---|
|
#18+
Спасибо за помощь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2012, 16:39:41 |
|
||
|
OutputStream хэш-код
|
|||
|---|---|---|---|
|
#18+
BlazkowiczДавайте попробую объяснить. OutputStream это не "источник данных". Данные не могут оттуда "браться". OutputStream это интерфейс для записи данных куда либо. Для того чтобы подсчитать контрольную сумму, нужно обернуть целевой OutputStream в CheckedOutputStream и провести запись через тот же самый интерфейс. В результатне CheckedOutputStream делегирует запись в "целевой OutputStream", но при этом подсчитает и сумму, которую можно получить по окончании записи. Что-то туплю(( Можно пример? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2012, 17:29:34 |
|
||
|
OutputStream хэш-код
|
|||
|---|---|---|---|
|
#18+
есть Код: java 1. надо Код: java 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2012, 17:32:53 |
|
||
|
OutputStream хэш-код
|
|||
|---|---|---|---|
|
#18+
Что-то у меня все 0 выдает =( Код: java 1. 2. 3. 4. 5. 6. 7. 8. result.getBook().write(out); - это вот этот объект http://poi.apache.org/apidocs/org/apache/poi/ss/usermodel/Workbook.html По завершению метода doGet(HttpServlet) файл сохраняется ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2012, 14:44:49 |
|
||
|
OutputStream хэш-код
|
|||
|---|---|---|---|
|
#18+
Или можно как-то получить по другому CRC объекта hssfworkbook - там где формирую его, что ли ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2012, 14:47:54 |
|
||
|
OutputStream хэш-код
|
|||
|---|---|---|---|
|
#18+
Издеваетесь что ли? Вы вообще не понимаете как оно работает? Код: java 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2012, 14:51:16 |
|
||
|
OutputStream хэш-код
|
|||
|---|---|---|---|
|
#18+
А что не так с InputStream Код: java 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2013, 12:14:21 |
|
||
|
OutputStream хэш-код
|
|||
|---|---|---|---|
|
#18+
0 возращает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2013, 12:14:31 |
|
||
|
OutputStream хэш-код
|
|||
|---|---|---|---|
|
#18+
-=Koba=-0 возращает Потому что данные через поток надо было прокачать. Оборачивающий stream перехыватывает прокачиваемые через него данные и вычисляет по ним сумму. У вас через поток ничего не прокачано. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2013, 12:22:16 |
|
||
|
OutputStream хэш-код
|
|||
|---|---|---|---|
|
#18+
Blazkowicz-=Koba=-0 возращает Потому что данные через поток надо было прокачать. Оборачивающий stream перехыватывает прокачиваемые через него данные и вычисляет по ним сумму. У вас через поток ничего не прокачано. А чот значит прокачать через поток? Вроде б уже в самом strem size>0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2013, 12:29:25 |
|
||
|
OutputStream хэш-код
|
|||
|---|---|---|---|
|
#18+
-=Koba=-А чот значит прокачать через поток? Это значит что их нужно вычитать из CheckedInputStream , или записать в CheckedOutputStream. Смотря что вы считаете. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2013, 12:34:00 |
|
||
|
OutputStream хэш-код
|
|||
|---|---|---|---|
|
#18+
Blazkowicz-=Koba=-А чот значит прокачать через поток? Это значит что их нужно вычитать из CheckedInputStream , или записать в CheckedOutputStream. Смотря что вы считаете. Я извиняюсь, а можно небольшой пример ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2013, 12:51:03 |
|
||
|
OutputStream хэш-код
|
|||
|---|---|---|---|
|
#18+
-=Koba=-Я извиняюсь, а можно небольшой пример Было Код: java 1. 2. нужно Код: java 1. 2. 3. 4. 5. 6. Но. Для Request всё немного сложнее. Дело в том что контейнер или какой-то фреймверк может сам уже вычитать данные из request InputStream до того как вы получите на него ссылку. Поэтому лучше всего завести фильтр где-то на самом верхнем уровне. И использовать ServletRequestWrapper, чтобы заменить оригинальный Request, на свой собственный в котором getInputStream вернет CheckedInputStream. Потом нужно отправить запрос на дальнейшую обработку, и после окончания обработки, проверить контрольную сумму. Если вы этот запрос полностью обрабатываете сами без фреймверков и без чтения POST параметров контейнером, то можно не заморачиваться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2013, 12:59:08 |
|
||
|
OutputStream хэш-код
|
|||
|---|---|---|---|
|
#18+
Blazkowicz-=Koba=-Я извиняюсь, а можно небольшой пример Было Код: java 1. 2. нужно Код: java 1. 2. 3. 4. 5. 6. Но. Для Request всё немного сложнее. Дело в том что контейнер или какой-то фреймверк может сам уже вычитать данные из request InputStream до того как вы получите на него ссылку. Поэтому лучше всего завести фильтр где-то на самом верхнем уровне. И использовать ServletRequestWrapper, чтобы заменить оригинальный Request, на свой собственный в котором getInputStream вернет CheckedInputStream. Потом нужно отправить запрос на дальнейшую обработку, и после окончания обработки, проверить контрольную сумму. Если вы этот запрос полностью обрабатываете сами без фреймверков и без чтения POST параметров контейнером, то можно не заморачиваться. мммм думал будет проще все =( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2013, 16:23:23 |
|
||
|
OutputStream хэш-код
|
|||
|---|---|---|---|
|
#18+
-=Koba=-, а что будешь дальше делать с контрольной сумой? Я надеюсь ты не создаёшь свой собственный над-сетевой протокол. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2013, 16:55:40 |
|
||
|
OutputStream хэш-код
|
|||
|---|---|---|---|
|
#18+
mayton-=Koba=-, а что будешь дальше делать с контрольной сумой? Я надеюсь ты не создаёшь свой собственный над-сетевой протокол. сверка с БД тупо и все подкнилу чужое ТЗ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2013, 11:57:24 |
|
||
|
OutputStream хэш-код
|
|||
|---|---|---|---|
|
#18+
Blazkowicz-=Koba=-Я извиняюсь, а можно небольшой пример Было Код: java 1. 2. нужно Код: java 1. 2. 3. 4. 5. 6. Но. Для Request всё немного сложнее. Дело в том что контейнер или какой-то фреймверк может сам уже вычитать данные из request InputStream до того как вы получите на него ссылку. Поэтому лучше всего завести фильтр где-то на самом верхнем уровне. И использовать ServletRequestWrapper, чтобы заменить оригинальный Request, на свой собственный в котором getInputStream вернет CheckedInputStream. Потом нужно отправить запрос на дальнейшую обработку, и после окончания обработки, проверить контрольную сумму. Если вы этот запрос полностью обрабатываете сами без фреймверков и без чтения POST параметров контейнером, то можно не заморачиваться. Я извиняюсь можно более подробный пример - не хватает сделать Фрейм GWT связка стандартная, реквест приходит на сервер - тут работает метод doPost - тут затрудняюсь как получить все ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2013, 12:01:18 |
|
||
|
OutputStream хэш-код
|
|||
|---|---|---|---|
|
#18+
Фильтр автор @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { HttpServletRequest httpRequest = (HttpServletRequest) request; // HttpServletResponse httpResponse = (HttpServletResponse) response; RequestWrapper rw = new RequestWrapper(httpRequest); chain.doFilter(rw, response); } Wrapper авторpublic class RequestWrapper extends HttpServletRequestWrapper { public RequestWrapper(HttpServletRequest httpServletRequest) { super(httpServletRequest); // super.request = httpServletRequest; } private byte[] bytes = null; public ServletInputStream getInputStream() throws IOException { if (bytes == null) { // first time InputStream in = super.getRequest().getInputStream(); bytes = new byte[super.getRequest().getContentLength()]; for (int r, offset = 0; (r = in.read(bytes, offset, bytes.length - offset)) > -1;) { offset += r; } } final InputStream in = new ByteArrayInputStream(bytes); return new ServletInputStream() { public int read() throws IOException{ return in.read(); } }; } public BufferedReader getReader() throws IOException { return new BufferedReader(new InputStreamReader(getInputStream())); } } servlet автор @SuppressWarnings("unchecked") protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { requestW = (RequestWrapper) request; checkCRC(requestW, response); } private boolean checkCRC(ResponseWrapper request, HttpServletResponse response){ try { InputStream in = request.getInputStream(); CheckedInputStream inStream = new CheckedInputStream(in, new CRC32()); Long value = inStream.getChecksum().getValue(); logger.info(value.toString()); } catch (IOException e) { e.printStackTrace(); } return false; } } Почему сейчас тоже 0? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2013, 18:06:39 |
|
||
|
OutputStream хэш-код
|
|||
|---|---|---|---|
|
#18+
Код: java 1. 2. 3. А тут я правильно вызываю? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2013, 12:11:03 |
|
||
|
OutputStream хэш-код
|
|||
|---|---|---|---|
|
#18+
Я уже и фильтр поменял, почему не вычисляется crc? Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. String body = IOUtils.toString(wrappedRequest.getReader()); - тут все начитываеся ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2013, 12:17:23 |
|
||
|
|

start [/forum/topic.php?fid=59&fpage=245&tid=2129996]: |
0ms |
get settings: |
9ms |
get forum list: |
18ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
29ms |
get topic data: |
14ms |
get forum data: |
4ms |
get page messages: |
76ms |
get tp. blocked users: |
2ms |
| others: | 269ms |
| total: | 431ms |

| 0 / 0 |
