请问,在java里File和FileReader的不同是什么?

请问,在java里File和FileReader的不同是什么?... 请问,在java里File和FileReader的不同是什么? 展开
 我来答
I乐于助人I
2018-07-02 · TA获得超过395个赞
知道小有建树答主
回答量:272
采纳率:100%
帮助的人:135万
展开全部
1. File类 
1)File类介绍
File类封装了对用户机器的文件系统进行操作的功能。例如,可以用File类获得文件上次修改的时间移动,或者对文件进行删除、重命名。换句话说,流类关注的是文件内容,而File类关注的是文件在磁盘上的存储。 
File类的主要方法有:getName(),getCanonicalFile(),lastModified(),isDerector(),isFile(),getPath()等;

2)File类与FileInputStream类的区别: 
流类关注的是文件内容,而File类关注的是文件在磁盘上的存储。

File不属于文件流,只能代表一个文件或是目录的路径名而已。

FileInputStream类或者FileReader类的构造函数有多个,其中典型的两个分别为:
一个使用File对象为参数;
而另一个使用表示路径的String对象作为参数;
自己以前一直觉得直接用了String指定路径就可以了,一直不明白为什么很多人都先构造一个File对象,现在终于明白了,“如果处理文件或者目录名,就应该使用File对象,而不是字符串。”
2. FileReader类 
1) FileReader类介绍: 
InputStreamReader类的子类,所有方法(read()等)都从父类InputStreamReader中继承而来;

2) 与InputStreamReader类的区别: 
该类与它的父类InputStreamReader的主要不同在于构造函数,从InputStreamReader的构造函数中看到,参数为InputStream和编码方式,可以看出,当要指定编码方式时,必须使用InputStreamReader类;
而FileReader构造函数的参数与FileInputStream同,为File对象或表示path的String,可以看出,当要根据File对象或者String读取一个文件时,用FileReader;

3) 一般用法: 
FileReader fr = new FileReader("ming.txt"); 
  char[] buffer = new char[1024]; 
  int ch = 0; 
  while((ch = fr.read())!=-1 ) 
  { 
   System.out.print((char)ch); 
  }
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式