本帖最后由 地狱天堂 于 2014-8-12 12:42 编辑
文件的读取的两种方式,见代码。
read() 读取单个字符。返回的是整型。打印时需要转成(char)。
read(char[] cbuf) 将字符读入数组。 是将读取到的字符直接存入字符数组。
问:为何read()不能将读到的字符直接返回字符,打印时还要多做一步转换?
- <p>import java.io.FileReader;
- import java.io.IOException;</p><p>
- public class FileReadDemo {</p><p> public static void main(String[] args) {
- FileReader fr=null;
- //文件的读取方式一:
- try {
- fr=new FileReader("demo.txt");
- int ch=fr.read();
- while((ch=fr.read())!=-1){
- System.out.println("ch="+(char)ch);
- }
- } catch (IOException e) {
- System.out.println(e.toString());
- }
- finally{
- try {
- fr.close();
- } catch (IOException e) {
- System.out.println(e.toString());
- }
- }
-
- //文件的读取方式二:
- FileReader fr1=null;
- try {
- fr1=new FileReader("demo.txt");
- char[] ch=new char[1024];
- int num=0;
- while((num=fr1.read(ch))!=-1){
- System.out.println(new String(ch,0,num));
- }
- } catch (IOException e) {
- System.out.println(e.toString());
- }
- finally{
- try {
- fr1.close();
- } catch (IOException e) {
- System.out.println(e.toString());
- }
- }
- }</p><p>}
- </p><p> </p>
复制代码
|