当前位置: 代码迷 >> Java相关 >> 各位大虾帮忙看一下,为什么会这样
  详细解决方案

各位大虾帮忙看一下,为什么会这样

热度:147   发布时间:2011-12-04 19:34:12.0
各位大虾帮忙看一下,为什么会这样
import java.io.*;
import java.util.*;
import static java.lang.System.out;

public class CharArrayReaderWriterDemo
{
    public static void main(String[] args)
    {
        try
        {
            File file=new File(args[0]);
            BufferedReader bufInputReader=new BufferedReader(new FileReader(file));
            //将文件读入字符数组
            CharArrayWriter charArrayWriter=new CharArrayWriter();
            char[] array=new char[1];
            while (bufInputReader.read(array)!=-1)
            {
                charArrayWriter.write(array);
            }
            charArrayWriter.close();
            bufInputReader.close();
            //显示字符数组的内容
            array=charArrayWriter.toCharArray();
            for (int i=0;i<array.length;i++)
            {
                out.print(array[i]+" ");//问题在这一句
            }
            out.println();
         }
        catch (ArrayIndexOutOfBoundsException e)
        {
            out.println("请指定文件名称!");
        }
        catch (IOException e)
        {
            e.printStackTrace();
        }
    }   
}
红色那句,为什么加了" "后第一个字print不出来,比如一个文件1.txt第一个字是P,但就是出不来。而把" "去掉以后,就出来了,大虾给小弟解释一下下(ˇˍˇ)
搜索更多相关的解决方案: class  public  import  file  

----------------解决方案--------------------------------------------------------
我尝试了下程序,可以打印出来啊。
----------------解决方案--------------------------------------------------------
回复 2楼 baifenghan
如果读取的文件只写一行的确能正确打印,但是如果在读取的文件第一行加上换行,
第二行不写任何东西,读取出来第一行的第一个字就会莫名奇妙地被“吃“了
我怀疑是"\r\n",但是这样想得话,遇到换行时先\r移至第一个字,应该是先做\n然后空格才对
但实际是移到第一个字然后空格(空格就把第一个字“吃”了)然后再\n换到下一行的,
这样有什么不对吗?还有把源程序里面的+" "去掉就没有任何问题的
----------------解决方案--------------------------------------------------------
路过
----------------解决方案--------------------------------------------------------
hehe
----------------解决方案--------------------------------------------------------
  相关解决方案