You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

Unreleased_Stream.java 2.8 kB

3 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. package Unreleased_Stream;
  2. import java.io.BufferedReader;
  3. import java.io.File;
  4. import java.io.FileReader;
  5. import java.io.IOException;
  6. import java.util.logging.Logger;
  7. import javax.servlet.http.HttpServletRequest;
  8. import javax.servlet.http.HttpServletResponse;
  9. public class Unreleased_Stream {
  10. static final Logger log = Logger.getLogger("local-logger");
  11. public void bad(HttpServletRequest request, HttpServletResponse response)
  12. {
  13. int b = 0; /* init data */
  14. int length = 256;
  15. File f = new File("C:" + File.separator + "data.txt");
  16. BufferedReader buffread = null;
  17. char [] a = null;
  18. try {
  19. /* read string from file into data */
  20. buffread = new BufferedReader(new FileReader(f)); // bad 流资源未释放
  21. if(buffread.read() < length){
  22. b = buffread.read(a, 0, length);
  23. }
  24. log.info(b + "");
  25. }
  26. catch( IOException ioe )
  27. {
  28. log.info("Error with stream reading");
  29. }
  30. catch( NumberFormatException nfe )
  31. {
  32. log.info("Error with number parsing");
  33. }
  34. }
  35. public void good(HttpServletRequest request, HttpServletResponse response)
  36. {
  37. int b = 0; /* init data */
  38. int length = 256;
  39. File f = new File("C:" + File.separator + "data.txt");
  40. BufferedReader buffread = null;
  41. FileReader fread = null;
  42. char [] a = null;
  43. try {
  44. /* read string from file into data */
  45. fread = new FileReader(f);
  46. buffread = new BufferedReader(fread); // good 流资源未释放
  47. if(buffread.read() < length){
  48. b = buffread.read(a, 0, length);
  49. }
  50. log.info(b + "");
  51. }
  52. catch( IOException ioe )
  53. {
  54. log.info("Error with stream reading");
  55. }
  56. catch( NumberFormatException nfe )
  57. {
  58. log.info("Error with number parsing");
  59. }
  60. finally {
  61. /* clean up stream reading objects */
  62. try {
  63. if( buffread != null )
  64. {
  65. buffread.close();
  66. }
  67. }
  68. catch( IOException ioe )
  69. {
  70. log.info("Error closing buffread");
  71. }
  72. finally {
  73. try {
  74. if( fread != null )
  75. {
  76. fread.close();
  77. }
  78. }
  79. catch( IOException ioe )
  80. {
  81. log.info("Error closing fread");
  82. }
  83. }
  84. }
  85. }
  86. }

No Description

Contributors (1)