1 2 Previous Next 21 Replies Latest reply: Feb 7, 2008 4:03 PM by 807603 RSS

    BufferedInputStream(InputStream in)

    807603
      How to use InputStream in BufferedInputStream(InputStream in) Constructor ?
      What should be the Inputstream in value ?

      Please help.
        • 1. Re: BufferedInputStream(InputStream in)
          807603
          Any subclass of InputStream of course. Just like the method expects.
          • 2. Re: BufferedInputStream(InputStream in)
            807603
            Just look at the api docs ( http://java.sun.com/j2se/1.5.0/docs/api/java/io/InputStream.html ):
            Direct Known Subclasses:
                AudioInputStream, ByteArrayInputStream, FileInputStream,
            FilterInputStream, InputStream, ObjectInputStream, PipedInputStream, 
            SequenceInputStream, StringBufferInputStream 
            • 3. Re: BufferedInputStream(InputStream in)
              807603
              How a String which is containing some value be stored into the object of InputStream or BufferedInputStream ?

              Edited by: Monadear on Oct 5, 2007 11:38 AM
              • 4. Re: BufferedInputStream(InputStream in)
                807603
                Not 100% sure what you are asking but maybe use StringBufferInputStream?

                See

                http://java.sun.com/j2se/1.5.0/docs/api/java/io/StringBufferInputStream.html

                But note

                Deprecated. This class does not properly convert characters into bytes. As of JDK 1.1, the preferred way to create a stream from a string is via the StringReader class.

                Edited by: smithberry on Oct 5, 2007 12:40 PM
                • 5. Re: BufferedInputStream(InputStream in)
                  807603
                  yes this is depreceated and i can't use it now.
                  Any other source ??
                  • 6. Re: BufferedInputStream(InputStream in)
                    EJP
                    Why do you want to read a String using a BufferedInputStream? It doesn't make much sense to buffer something that's already in memory.

                    Have you considered StringReader?
                    • 7. Re: BufferedInputStream(InputStream in)
                      807603
                      The String which i want to use is containing my XML File. I want to get the contents of that XML File in InputStream with the help of string and parse it so that i can read its contents.
                      • 8. Re: BufferedInputStream(InputStream in)
                        EJP
                        Just read the file directly into the parser and avoid the intermediate String altogether. You're just wasting memory, and the solution doesn't scale to large files.
                        • 9. Re: BufferedInputStream(InputStream in)
                          807603
                          ejp

                          The Parse function of DocumentBuilder uses InputSource, InputStream and File as its Parameter. But my requirement is to read the messages of that File from the memory and these messages(Of File) are identified by the String only.
                          So i have to Compulsory use the String.

                          Anyways thanks for the information. Will see any other source for my Parse function, thru which i can get my relevant output.
                          • 10. Re: BufferedInputStream(InputStream in)
                            807603
                            Hi,
                            Monadear wrote:
                            ejp

                            The Parse function of DocumentBuilder uses InputSource, InputStream and File as its Parameter. But my requirement is to read the messages of that File from the memory and these messages(Of File) are identified by the String only.
                            So i have to Compulsory use the String.
                            InputSource can be constructed from a Reader and there is a StringReader.

                            http://java.sun.com/j2se/1.5.0/docs/api/org/xml/sax/InputSource.html#InputSource(java.io.Reader)

                            http://java.sun.com/j2se/1.5.0/docs/api/java/io/StringReader.html

                            greetings

                            Axel
                            • 11. Re: BufferedInputStream(InputStream in)
                              807603
                              Axel

                              I tried it with both as with the InputSource and InputStream, But as already mentioned in my new topic i am receiving a FATAL ERROR. If the Fatal error be solved then only i can see whether ByteArrayInputStream of InputStream or StringReader of InputSource is working for it.

                              But still if anybody has some solution regarding it. Keep replying i'll require it afterwards.

                              Thanks for your Response

                              Caio
                              • 12. Re: BufferedInputStream(InputStream in)
                                EJP
                                Continued in the 'new topic', as you haven't told us here what the 'FATAL ERROR' is.
                                • 13. Re: BufferedInputStream(InputStream in)
                                  807603
                                  Hello,

                                  The FATAL ERROR which i got during this is

                                  [Fatal Error] :1:1: Content is not allowed in prolog.
                                  ERROR | (NA:185) - Error Exception Catched here : org.xml.sax.SAXParseException: Content is not allowed in prolog.

                                  The java files are compiled correctly but when i want to get the desired result this error come.

                                  Any Idea about this ??
                                  • 14. Re: BufferedInputStream(InputStream in)
                                    807603
                                    cause of the error:


                                    After some extensive research on the web, it is found that that you are using an UTF-8 encoded file with byte-order mark (BOM). Java doesn't handle BOMs on UTF-8 files properly, making the three header bytes appear as being part of the document. UTF-8 files with BOMs are commonly generated by tools such as Window's Notepad. This is a known bug in Java, but it still needs fixing after almost 8 years...

                                    There are some hexadecimal character at the begining of the file, which is giving error"content not allowed in prolog". No solution is provided for this till now.

                                    Example: suppose your file start with <?xml version="1.0" encoding="utf-8"?>. you will see this in a editor. But if you open this file with any hexadecimal editor you will find some junk character in the start of the file.that is causing the problem

                                    solution:

                                    1) convert your file into a string and then read the file from the forst character that in my case the first character will be "<".so the junk character will not be there in the string and then again convert it into a file.

                                    2) some people are able to solve this problem by changing the "utf-8" to "utf-16". remember only in some case. some times this problem also exits in "utf-16" file.

                                    3) some are able to solve this problem by changing the LANG to US.en.

                                    4) If the first three bytes of the file have hexadecimal values EF BB BF then the file contains a BOM.so you can also handle by your own.

                                    5)Download a hexadecimal editor and remove the BOM.

                                    6) In case you are not able to think furthe then please to more research in internet may be you find some other solution to this problem. But These solution are some type of hack not exactly a solution.
                                    1 2 Previous Next