三个简单的案例来理解读取方式

  1 package javastudy;
  2 
  3 import java.io.File;
  4 import java.io.FileNotFoundException;
  5 import java.io.FileReader;
  6 import java.io.IOException;
  7 import java.util.Calendar;
  8 
  9 public class Txtio {
 10     public static void main(String[] args ) throws IOException 
 11     {
 12         /**
 13          * 功能:显示一个文件的信息。
 14          * 步骤:
 15          * 1.加载该文件的具体路径
 16          * 2.通过StringBulider来实现具体的信息内容
 17          * 2.直接输出显示信息。
 18          * 3.通过filereader来输出文件内容
 19          * 4,先判断文档内容,是否存在,如果处在就打印出来
 20          * 
 21          * */
 22     /*    File f= new File("f:\\data.txt");
 23         //方法1.建立StringBulider
 24         StringBuilder sb = new StringBuilder();
 25         Calendar cl = Calendar.getInstance();
 26         long time = f.lastModified();
 27         cl.setTimeInMillis(time);
 28         sb.append("最后修改时间为:"+cl.getTime().toLocaleString());
 29 //        Calendar cal = Calendar.getInstance();
 30 //        long time = f.lastModified();
 31 //        cal.setTimeInMillis(time); 
 32 //        System.out.print("最后修改日期:"+cal.getTime().toLocaleString());
 33         sb.append("\n");
 34         sb.append("文档名称为:"+f.getName());        
 35         System.out.println(sb);
 36         //判断是否是文件
 37         if(f.isDirectory())
 38         {
 39             System.out.println("是目录");
 40         }
 41         else
 42         {
 43             System.out.println("是文件");
 44         }
 45         try {
 46             FileReader fr =new FileReader("f:\\data.txt");
 47             //判断文件是否为空
 48             int ch =0;
 49             System.out.println("文件具体内容为:");
 50             while((ch=fr.read())!=-1)
 51             {
 52                 //进行强制转换
 53                 System.out.print((char)ch);
 54             }
 55         } catch (FileNotFoundException e) {
 56             // TODO Auto-generated catch block
 57             System.out.println("文件加载失败!!!");
 58             e.printStackTrace();
 59         }*/
 60         /**
 61          * 功能:读取某盘下下的所有文件和目录,并将其打印出来
 62          * 步骤:
 63          * 1.将需要读取的磁盘加载出来。
 64          * 2.因为有很多文件,所以需要先将文件储存某个数组中
 65          * 3.判断是否为文件
 66          * 4.并分别遍历,及读取到控制台上
 67          * 
 68          * */
 69     /*    File file =new File("d:\\");
 70         //将file的内容储存到数组中。
 71         File[] f = file.listFiles();
 72         for(File files :f)
 73         {
 74             if(files.isDirectory())
 75             {
 76                 System.out.print("目录文档:");
 77             }
 78             else
 79             {
 80                 System.out.print("文件文档:");
 81             }
 82             System.out.println(files.getPath());
 83         }*/
 84         /**
 85          * 功能:读取某盘下的所有txt文件。
 86          * 步骤:
 87          * 1.添加一个show类,并加载需要读取的磁盘
 88          * 2.将所有数据储存到数组中
 89          * 3.进行数组的遍历
 90          * 4.判断是否为文件,如果是进行打印
 91          * 5.如果是目录进行下次读取
 92          * 6.注:在读取文件的过程中可能会遇到磁盘文件不可读取的部分,这是进行判断并返回。
 93          * 
 94          * */
 95         String path="e:\\";
 96         Show(path);
 97     }
 98     static void Show(String path)
 99     {
100         File file =new File(path);
101         //将file的内容储存到数组中。
102         File[] f = file.listFiles();
103         for(File fi : f)
104         {
105 //            System.out.println("----------"+fi.getPath()+"------");
106               if(fi.getPath().endsWith("System Volume Information"))
107             {
108                 return;
109             }
110 //以上为判断不能读取的部分
111             if(fi.isFile())
112             {
113                 //判断所有目录中的后缀大些为TXT.
114                 if(fi.getPath().toUpperCase().endsWith(".TXT"))
115                 {
116                     System.out.println(fi.getPath());
117                 }
118                 
119             }
120             else 
121             {
122                 //如果是目录则重新读取:
123                 Show(fi.getPath());
124             }
125         }
126     }
127 }
 1 package javastudy;
 2 
 3 import java.io.FileInputStream;
 4 import java.io.FileNotFoundException;
 5 import java.io.IOException;
 6 
 7 public class Textio {
 8     public static void main(String[] args)
 9     {
10         try {
11             FileInputStream fi =new FileInputStream("f:\\data.txt");//获取文件的绝对路径
12             byte[] by=new byte[fi.available()];//新建一个字节数组
13             fi.read(by);//将文件以字节数组的形式保存起来
14             String st=new String(by);//将字节数组转换成字符形式输出
15             System.out.print(st);
16             fi.close();        
17         } catch (FileNotFoundException e) {
18             // TODO Auto-generated catch block
19             e.printStackTrace();
20         } catch (IOException e) {
21             // TODO Auto-generated catch block
22             e.printStackTrace();
23         }
24     }
25 }

 

 

posted @ 2015-12-30 20:58  夏冬青  阅读(243)  评论(0编辑  收藏  举报