A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 会飞的鱼 中级黑马   /  2012-11-7 14:22  /  1864 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 阳永衡 于 2012-11-11 17:18 编辑

IO管道流怎么去读写一个文件?
虽然它的InputStream和OutputStream通过connect连接后,
但他们的构造方法或者Read()和Writer()方法都没有指定我该从哪个文件读取或写入文件参数?
那么我该怎么用PipedInputStream去读一个源文件,然后用PipedOutputStream把管道流中读到的数据写到另一个文件中??

点评

InputStream和OutputStream都是抽象类,你认认真真看看API文档吧  发表于 2012-11-7 14:44

3 个回复

倒序浏览
?你确定你仔细看了InputStream跟OutputStream?

它们自己本身有要求参数的 你确定你能使用无参方法?
回复 使用道具 举报
本帖最后由 李计伟 于 2012-11-8 22:19 编辑

写文件
  1. import java.io.FileWriter;
  2. import java.io.IOException;

  3. public class FileWriterDemo3 {
  4.              public static void main(String[] args)throws IOException {
  5.                    // 创建字符输出流对象
  6.                     FileWriter fw = new FileWriter("E:\\a.txt");
  7.                     fw.write("helloworld");
  8.                     fw.flush();
  9.                     fw.close();
  10.                    }
  11. }
复制代码
读文件
  1. import java.io.FileReader;
  2. import java.io.IOException;

  3. public class FileReaderDemo {
  4.            public static void main(String[] args) throws IOException {
  5.                   // 创建字符输入流对象
  6.                    FileReader fr = new FileReader("a.txt");
  7.                    int ch = 0;
  8.                    while ((ch = fr.read()) != -1) {
  9.                    System.out.print((char) ch);
  10.                     }
  11.                      fr.close();
  12.              }
  13. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
冯海霞 + 1

查看全部评分

回复 使用道具 举报
李计伟 发表于 2012-11-8 22:17
写文件读文件
  1. public static void copy_1() throws IOException{
  2.         BufferedInputStream bufis=new BufferedInputStream(
  3.                               new FileInputStream("E:\\av.avi"));          //定义一个字节读取流缓冲区
  4.         BufferedOutputStream bufos=new BufferedOutputStream(
  5.                               new FileOutputStream("C:\\av.avi"));      //定义一个字节写入流缓冲区
  6.         int len=0;
  7.         byte[] by=new byte[1024];                                         //用一个缓冲数组保存读到的数据,并不是读一个字节就写一个字节
  8.         while((len=bufis.read(by))!=-1){
  9.                  bufos.write(by);                                                  //等到缓冲数组满了后一阵狂写,写完了继续循环读写,直到读到文件末尾返回-1跳出循环,文件复制完成
  10.         }
  11.         bufos.close();
  12.         bufis.close();
  13. }
复制代码
可是哥们问的是管道流该怎么读和写?? {:soso_e119:}   都扯上抽象类了。。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马