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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张超 中级黑马   /  2012-11-11 16:42  /  2159 人查看  /  12 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 zhangchao 于 2012-11-11 18:34 编辑

package SystemIO;
import java.io.*;
class readerwriter {
/**
  *
  */
public static void main(String[] args) {
  // TODO Auto-generated method stub
  readWriter();
}
public static void readWriter()
{//拷贝一个文件。FileReader和FileWriter的方法都是从父类中继承的,
  FileReader fr=null;
  FileWriter fw=null;
  try {
    fr=new FileReader("D:\\JAVA\\xiazai\\day18\\1111.Java");
    fw=new FileWriter("D:\\JAVA\\xiazai\\day18\\3.java");
   
    char[] cd=new char[1024];
    int len=0;
    fr.read(cd);
    while((len=fr.read(cd))!=-1){////////////////////////////////我的这个能读,怎么不能够写,
     fw.write(cd,0,len);
     sop(String.valueOf(cd)+"0");//返回此字符数组的字符串。

    }  
  }
  catch (IOException e) {
   
   throw new RuntimeException("读写失败");
  }
  finally{
   try{
    if(fr!=null)
     fr.close();
   }
   catch(IOException e){
    System.out.println(e.getMessage());
   }
   try{
    if(fr!=null)
     fw.close();
   }
   catch(IOException e){
    System.out.println(e.getMessage());
   }
   }
  }
public static void  sop(Object obj)
{
  System.out.println(obj);
}
}

12 个回复

正序浏览

回帖奖励 +2 黑马币

本帖最后由 王亚运 于 2012-11-11 21:28 编辑


代码不会看。。
只是想提醒下,贴代码建议用编辑器的插入代码。
读起来方便点。
回帖不是白回。。。{:soso_e141:}
  1. <font size="5">package SystemIO;
  2. import java.io.*;
  3. class readerwriter {
  4. /**
  5. 直接贴代码看起来格式更爽一点,,
  6. */</font>
复制代码
回复 使用道具 举报
张超 中级黑马 2012-11-11 21:16:42
12#
冰深 发表于 2012-11-11 19:26
看来楼主是刚开始学习,代码还是不很规范呢,排版和注释在好一点吧~

谢谢         
回复 使用道具 举报
冰深 中级黑马 2012-11-11 19:26:59
11#

回帖奖励 +2 黑马币

看来楼主是刚开始学习,代码还是不很规范呢,排版和注释在好一点吧~
回复 使用道具 举报
冰深 中级黑马 2012-11-11 19:26:01
10#

回帖奖励 +2 黑马币

楼主好大方啊              
回复 使用道具 举报
冰深 中级黑马 2012-11-11 19:25:50
9#

回帖奖励 +2 黑马币

我来了         
回复 使用道具 举报

回帖奖励 +2 黑马币


   hoho
回复 使用道具 举报

回帖奖励 +2 黑马币

不用说了,你的文件都没2M大 第一次就读取完了 循环都没走 怎么能写
回复 使用道具 举报

回帖奖励 +2 黑马币

char[] cd=new char[1024];
    int len=0;
    fr.read(cd);
    while((len=fr.read(cd))!=-1){////////////////////////////////我的这个能读,怎么不能够写,
     fw.write(cd,0,len);
     sop(String.valueOf(cd)+"0");//返回此字符数组的字符串。

把你标红的那段代码删了吧,明显有问题,估计你那个打印语句也有问题,如果你读取的文件大于1KB那么是会读入一些数据的并打印,然后复制到另一个文件的。
但是如果小于1KB的话,那就不会了,因为红色那段代码已经把文件读完了,循环再读取一次,那当然就是-1,自然也就不会进入循环。

评分

参与人数 1技术分 +1 收起 理由
奋斗的青春 + 1 赞一个!

查看全部评分

回复 使用道具 举报
葬天 发表于 2012-11-11 18:16
首先,最好按照规范编程,比如类名class readerwriter
其次 红字部分去掉
最后 检查一下文件是不是有问题

好的我试试
回复 使用道具 举报

回帖奖励 +2 黑马币

首先,最好按照规范编程,比如类名class readerwriter
其次 红字部分去掉
最后 检查一下文件是不是有问题
fr.read(cd);
    while((len=fr.read(cd))!=-1){////////////////////////////////我的这个能读,怎么不能够写,
     fw.write(cd,0,len);
     sop(String.valueOf(cd)+"0");//返回此字符数组的字符串。

    }  
回复 使用道具 举报
jerry2627 发表于 2012-11-11 17:52
你又没刷新流

刷新的我也试过了的,也是不行,你试试看行不行呀。
回复 使用道具 举报

回帖奖励 +2 黑马币

你又没刷新流
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马