zoukankan      html  css  js  c++  java
  • 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 + " 
     " ;        //读取的每一行都加了换行符      
    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 }

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

  • 相关阅读:
    Leetcode 第 210 场周赛
    Leetcode 834. 树中距离之和
    Leetcode 第36场双周赛
    力扣 第 208 场周赛
    cf 665 DMaximum Distributed Tree
    Codeforces Round #672 (Div. 2) A~D
    Educational Codeforces Round 95 (Rated for Div. 2) A~D
    CCF CSP 201612-3 权限查询
    Codeforces Round #669 (Div. 2) A~C
    201703-4 地铁修建
  • 原文地址:https://www.cnblogs.com/shuqingstudy/p/5043485.html
Copyright © 2011-2022 走看看