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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 闫江龙 黑马帝   /  2011-12-22 23:18  /  2526 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 闫江龙 于 2011-12-23 00:01 编辑

FileReader  fr = new FileReader("DateDemo.java");
char[] buf = new  char[1024];
int num = 0;

while((num=fr.read(buf))!=-1)
      {
        System.out.print(new String(buf,0,num));
      }

        fr.close();

上面代码中 fr.read(buf)过程中 比如说 读到第一行没有了 会读取一个换行符打印 还是怎么样 要不print打印出来都变成一行了?

评分

参与人数 1技术分 +1 收起 理由
王德云 + 1

查看全部评分

3 个回复

倒序浏览
曾运 黑马帝 2011-12-22 23:28:05
沙发
是的 输入流读取的时候会把该位置换行符也会读取进去,再通过输出流在同样位置写出来。所以打印的内容格式与要读取的内容格式相同

ps:BufferedReader 的readLine() 方法 是整行整行的读取,换行符是每行结束的标志,读取的时候读取一整行的内容,但是不包括换行符。

评分

参与人数 1技术分 +1 收起 理由
王德云 + 1

查看全部评分

回复 使用道具 举报
public int read(char[] buf)是将字符读入到buf数组中,读取时会把换行符也读进去,所以在输出流输出数据时,也会把输入流读取的换行符输出,所以写出的内容格式与读取的内容格式一致。
回复 使用道具 举报
看看下面的代码你就明白了:

  1. import java.io.FileNotFoundException;
  2. import java.io.FileReader;
  3. import java.io.IOException;
  4. // 利用 FileReader 来读取文件本身
  5. public class FileReaderTest {
  6.         public static void main(String[] args) throws IOException {
  7.                 FileReader fr = null ;
  8.                 try {
  9.                         fr = new FileReader("D:\\Hello.java");
  10.                         char[] cbuf = new char[1024];
  11.                         int len ;
  12.                         while((len=fr.read(cbuf))!=-1){
  13.                                 System.out.println(new String(cbuf,0,len));
  14.                         }
  15.                 } catch (IOException e) {
  16.                         e.printStackTrace();
  17.                 }finally{
  18.                         if(fr!=null){
  19.                                 fr.close();
  20.                         }
  21.                 }
  22.         }
  23. }
复制代码
运行结果:
  1. public calss Hello{
  2.         public static void mian(String args[]){
  3.        
  4.                 System.out.println("hello");
  5.         }
  6. }
复制代码
代码2:

  1. import java.io.FileNotFoundException;
  2. import java.io.FileReader;
  3. import java.io.IOException;
  4. // 利用 FileReader 来读取文件本身
  5. public class FileReaderTest {
  6.         public static void main(String[] args) throws IOException {
  7.                 FileReader fr = null ;
  8.                 try {
  9.                         fr = new FileReader("D:\\Hello.java");
  10.                         char[] cbuf = new char[32];
  11.                         int len ;
  12.                         while((len=fr.read(cbuf))!=-1){
  13.                                 System.out.println(new String(cbuf,0,len));
  14.                         }
  15.                 } catch (IOException e) {
  16.                         e.printStackTrace();
  17.                 }finally{
  18.                         if(fr!=null){
  19.                                 fr.close();
  20.                         }
  21.                 }
  22.         }
  23. }
复制代码
运行结果:
  1. public calss Hello{
  2.         public sta
  3. tic void mian(String args[]){
  4.        

  5.                 System.out.println("hello");

  6.         }
  7. }
复制代码
不知道上面的代码效果是不是你想要的。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马