BufferedReader和BufferedWriter可不可以进行文本文件以外的文件进行读写,如果可以,怎么读写,如果不行,应该用什么流来进行(除了DataOutputStream外,还有没有什么流适合传文件的,字符流和字节流都行)

解决方案 »

  1.   

    Reader和Writer的设计之初就是为了解决字符流的读写问题的。
    有了这两个类,我们可以直接面向字符编程,而字符向二进制数据的转码过程,被隐藏在内,我们不必关心细节问题。文件传输,一般都是面向二进制数据流来编程的,因为,既然传输文件数据,我们就没有必要关心文件的内容,我们又不是搞压缩的,传数据而已。
    所以,楼主使用InputStream和OutputStream就可以了,
    提高性能,可以使用BufferedInputStream
      

  2.   

    BufferedReader提供的方法是read(char[] cbuf, int off, int len)和readLine();等,用来处理字符流(文本文件)。
    BufferedInputStream提供的方法是read(byte[] b, int off, int len)等,处理的是字节流(二进制文件)
      

  3.   

    我现在想用一个流既能写文件又能写字符串,能实现吗?不用DataOutputStream,因为这东西老是出问题
      

  4.   

    String.getBytes(String charset)方法,可以把字符串转换成字节数组。写是能写,但是,写进去了,能否正确读出来,就是问题了。字符串转换成二进制数,是要看你用什么编码规则的。
      

  5.   


    读文件中的内容
    Bufferedreader br = BufferedReader(new FileInputStream("文件路径\文件名"));往文件写字符
    BufferedWriter bw =.....从键盘获得获得输入的字符串
    Bufferedreader br = BufferedReader(new InputStreamReader(System.in));
    String info = br.readLine();
    //注意:br/bw读写的都是String型的,如果需要基本数据类型,需要强转。 
    Buffered流是中层流,可以往里包装其他流。
      

  6.   

    文本以外的的文件 如果是音频或者图片 等等二进制的东西是不能用字符流读写的  必须要用字节流 BufferedInputStream bis=new BufferedInputStream(new FileInputStream(你的文件的路径加文件名));
    这是输入 BufferedOutputStream bos=new BufferedOutputStream(new FileOutputStream(你要输出到哪里的路径+输出到那里的文件名));
      

  7.   


    读文件中的内容
    Bufferedreader br = BufferedReader(new FileInputStream("文件路径\文件名"));这是什么意思? 字符流可以用字节流? 这句代码错误的离谱
      

  8.   

    IO流有很多种,你先搞清楚各种分类方法,搞清楚每一对In和Out是干嘛的,里面可以包装什么参数。找出自己惯用的一套就可以了,总之,各种读写都可以用IO解决
      

  9.   


    确实,没注意。。改成FileReader 
      

  10.   

    我是想要一个既能写字符串,又能写文件的流,dataInputStream和dataOutputStream可以做到,但是遇到中文就容易出错,现在的问题是除了这两个流以外还有没有其他的流能够实现既能写字符串又能写文件的
      

  11.   

    OutputStreamWriter  这个可以写文件:
    new OutputStreamWriter(new FileOutputStream(outputFileStr), ENCODE)写字符串:
    bout=new ByteArrayOutputStream();
    writer = new OutputStreamWriter(bout, ENCODE);
    ret = new String(bout.toByteArray(), ENCODE);
      

  12.   

    用Data,读写中文可以设置字符集,utf-8,字节和字符流只是读写效率的问题。
    没有哪一种流可以什么都干,你让File系列情何以堪。。
      

  13.   

    问题解决啦,谢谢各位,其实不是data流动问题了,而是自己逻辑上的错误,data流还是很不错的,既能传输字符串,有能传输文件