java文件读写操作类

借鉴了项目以前的文件写入功能,实现了对文件读写操作的封装

仅仅需要在读写方法传入路径即可(可以是绝对或相对路径)

以后使用时,可以在此基础上改进,比如:

写操作:

1,对java GUI中文本框中的内容进行捕获,放在txt文本文档中

2,对各种类型数据都以字符串的形式逐行写入

3,对全局数组的内容进行写入

读操作:

获取文件行数

对逐行字符串型数据进行类型转换,放入二维数组中

为后面算法处理提供入口,但是要小心的是:不可以将行数用全局变量做计数器,否则每次读入是全局变量累加出错,应重新开始读取

 1 import  java.io.BufferedReader;  
 2 import  java.io.BufferedWriter;  
 3 import  java.io.File;  
 4 import  java.io.FileReader;  
 5 import  java.io.FileWriter;  
 6 import  java.io.IOException;
 7   
 8 public  class  ReadTextFile {  
 9     public  BufferedReader bufread;  
10     public  BufferedWriter bufwriter;  
11     File writefile;  
12     String filepath, filecontent, read;  
13     String readContent  =  "" ;  
14     // 从文本文件中读取内容   
15      public  String readfile(String path)     
16       {  
17          try    {  
18            filepath  =  path;  // 得到文本文件的路径   
19             File file  =   new  File(filepath);  
20            FileReader fileread  =   new  FileReader(file);  
21            bufread  =   new  BufferedReader(fileread);  
22              while  ((read  =  bufread.readLine())  !=   null )   {  
23                read  =  read + " \r\n " ;        //读取的每一行都加了换行符      
24                readContent  =  readContent  +  read;  
25            }   
26         }   catch  (Exception d)   {  
27            System.out.println(d.getMessage());  
28        }   
29         return  readContent;  // 返回从文本文件中读取内容   
30     }   
31     public void writeFile(String path)   {
32         
33         try {
34             BufferedWriter writer = new BufferedWriter(new FileWriter(path)); // 如果文本文件不存在则创建它
35             for(int i=0;i<256;i++){
36                 for(int j=0;j<7;j++){
37                     
38                     writer.write(Math.random()+"    ");
39                 }
40                writer.newLine();
41             }
42              //使用缓冲区中的方法,将数据刷新到目的地文件中去。
43              writer.flush();
44              //关闭缓冲区,同时关闭了writer流对象  
45              writer.close();
46           }catch (IOException e) {
47          // TODO Auto-generated catch block
48             e.printStackTrace();
49           }
50     }
51     
52    
53      
54      public   static   void  main(String[] args)  throws  Exception   {  
55        ReadTextFile parse  =   new  ReadTextFile();  
56        // 写文件
57        parse.writeFile( "D:/radar.txt"); 
58        //读文件(主要实现将整个文本读取出来,或读取文件函数返回字符串类型,或将每一行读取后放入全局字符串数组中)
59        String filecontent  =  parse.readfile( "D:/radar.txt" );     
60        
61        System.out.println(filecontent);
62        
63    
64     }   
65 }

当然,也可以将读写的路径用一个全局静态变量字符串来保存,只是不利于分离使用,故此处省略。

posted @ 2015-12-13 20:25  平常心,平常心  阅读(1399)  评论(0编辑  收藏  举报