黑马程序员技术交流社区
标题:
获取文本的显示的一些疑惑?
[打印本页]
作者:
程宏志
时间:
2012-8-3 17:37
标题:
获取文本的显示的一些疑惑?
import java.io.*;
class Test_3
{
public static void main(String[] args) throws IOException
{
FileReader fr=new FileReader("Test_3.java");
char[] ch=new char[1024];
int num=0;
while ((num=fr.read(ch))!=-1)
{
System.out.println(ch);
}
fr.close();
}
}
这句话 System.out.println(ch)是在控制台输出的,若是改成System.out.println(ch,0,num);之后为什么出现问题呢。在FileWriter().write(ch,0,num)中写入到文本中也没
问题,控制台输出显示和在文本中的写入显示,有什么区别呢?产生问题的原因是什么呢?(控制台上说是找不到符号 不理解)请高手帮忙解答!谢谢!
作者:
于启会
时间:
2012-8-3 18:25
(ch,0,num)是String中的 所以要想显示要转成String类型
String str = null;
str=new String(ch,0,num);
System.out.println(str);
作者:
樊占江
时间:
2012-8-3 18:29
格式错误
作者:
王渠
时间:
2012-8-3 18:38
你把一些东西搞混乱了,System.out返回值是一个PrintStream对象。println是PrintStream类下面的方法。没有你说的那个参数形式的方法。
而FileWriter类下面的write()方法是可以一个重载的方法的,write(char[] ch,int begen,int end)这样的一个方法。
FileReader类也有个类似的,反向的方法,read(),write是写入文件,read是读取文件,read(char[] ch,int begen,int end)从文件中读取指定长度的字符串到数组
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2