黑马程序员技术交流社区

标题: 管道流怎么读写一个文件?? [打印本页]

作者: 会飞的鱼    时间: 2012-11-7 14:22
标题: 管道流怎么读写一个文件??
本帖最后由 阳永衡 于 2012-11-11 17:18 编辑

IO管道流怎么去读写一个文件?
虽然它的InputStream和OutputStream通过connect连接后,
但他们的构造方法或者Read()和Writer()方法都没有指定我该从哪个文件读取或写入文件参数?
那么我该怎么用PipedInputStream去读一个源文件,然后用PipedOutputStream把管道流中读到的数据写到另一个文件中??
作者: 朱宏青    时间: 2012-11-7 14:27
?你确定你仔细看了InputStream跟OutputStream?

它们自己本身有要求参数的 你确定你能使用无参方法?
作者: 李计伟    时间: 2012-11-8 22:17
本帖最后由 李计伟 于 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. }
复制代码

作者: 会飞的鱼    时间: 2012-11-8 22:51
李计伟 发表于 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:}   都扯上抽象类了。。。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2