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 }

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

转载于:https://www.cnblogs.com/shuqingstudy/p/5043485.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/357893.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java递归基础掉用_Java递归基础

java递归基础掉用对于那些不知道递归是什么的人&#xff08;并且像个大笑者一样&#xff09;&#xff0c;请单击以下链接&#xff1a;Google搜索&#xff1a;递归&#xff0c;然后单击“您的意思是……”项。 希望您终于弄清楚了递归是指其自身的任何内容&#xff08;如果不是&…

圣诞节,程序员应该给女朋友送一个线上圣诞树

前言:圣诞节虽然不是中国的传统节日,但当下很多时髦的年轻人却很喜欢过这个欢乐的节日,并乐于打造参与属于这个节日的仪式感。 除了所知的圣诞老人、圣诞树、互送礼物、吃大餐等传统习俗外,其实程序员能为今天的节日增加一些特别的环节。 圣诞树下载:https://download.csd…

maven 按业务拆分模块_Maven模块拆分方法

一个大项目经常要拆分成多个小模块分开打包&#xff0c;Maven是可以支持模块拆分的。可以包含(父模块即项目包含子模块)&#xff0c;也可以并行(父模块和子模块是平级的)。推荐用包含方式&#xff0c;更清晰&#xff0c;更简单一些。首先建个空项目&#xff0c;只要个pom.xml&a…

用户注册,报修

一、需求分析 &#xff08;1&#xff09;还没有注册的客户&#xff0c;可以进入注册界面进行注册。 &#xff08;2&#xff09;新建一个报修表&#xff0c;名字为repair_info0&#xff0c;列有用户名、报修类型、报修地点、报修内容&#xff0c;报修日期和时间、用户报修次数。…

Java SE 8新功能介绍:使用Streams API处理集合

使用Java SE 8 Streams的代码更干净&#xff0c;易读且功能强大..... 在“ Java SE 8新功能介绍”系列的这篇文章中&#xff0c;我们将深入解释和探索代码&#xff0c;以了解如何使用流遍历集合&#xff0c;从集合和数组创建流&#xff0c;聚合流值。 在上一篇文章“ Lambda的…

在HTML中使用css3实现雪人动画效果

背景:圣诞节又到了,拿什么来哄女朋友开心? 项目结构: html: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xht…

mysql 释放内存_mysql查询后释放内存

我正在使用CodeIgniter从远程服务器导入大表.我一次将查询分成1000行.这将是一个在后台运行的cron脚本.$userDB是本地数据库对象,而$remoteDB是远程数据库对象private function fetch_remote_db_table($remoteDB, $remoteTable, $localTable FALSE){$success FALSE;$returnOb…

linux线程池简单实例

linux线程池简单实例转载于:https://www.cnblogs.com/adong7639/p/5044685.html

圣诞节又到了,作为程序猿的我用代码给女朋友送了一个礼物

圣诞节又到了&#xff0c;拿什么来哄女朋友开心&#xff1f;我们先来做一个简单的雪人动画&#xff1a;项目结构&#xff1a;html:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.d…

【Linux】权限篇(二)

权限目录 1. 前言2. 权限2.1 修改权限2.2 有无权限的对比2.3 另外一个修改权限的方法2.3.1 更改用户角色2.3.2 修改文件权限属性 3. 第一个属性列4. 目录权限5. 默认权限 1. 前言 在之前的一篇博客中分享了关于权限的一些知识&#xff0c;这次紧接上次的进行&#xff0c;有需要…

mysql 替代like_mysql用instr替代like查询

使用内部函数INSTR&#xff0c;代替传统的LIKE方式查询&#xff0c;不仅速度更快&#xff0c;而且省去了通配符检查&#xff0c;因此更加安全。INSTR()函数返回字符串中子字符串第一次出现的位置。如果在str中找不到子字符串&#xff0c;则INSTR()函数返回零(0)。下面说明了INS…

项目实战:小米商城官网及秒杀高仿(html+css+js)

导读:秒杀的检索结果,小米官方网站包含秒杀价格及秒杀适配机型,官方推荐秒杀产品,帮助米粉挑选合适自己的秒杀商品。 仿小米手机商城的全套页面。包含首页,订单页,列表页,商品详情页,个人中心,购物车,等等几十个页面。 有轮播的实现,demo 基于html css 实现小米官网部分内容搭…

Unity3d 配置OpenCV(EmguCV) 周围环境

最近毕业。我们一直在研究如何Unity正在使用EmguCV&#xff0c;最后&#xff0c;有些吃老本的今天。 我的环境&#xff1a;Unity3d 4.3.1f libemgucv-windows-universal-gpu-2.4.9.1847 原文參考&#xff1a;http://forum.unity3d.com/threads/182600-OpenCV-(EMGUC…

Java 8的方法参考进一步限制了重载

方法重载一直是一个充满喜忧参半的话题。 我们已经在博客上介绍了它&#xff0c;并介绍了几次警告&#xff1a; 您会后悔对Lambdas应用重载&#xff01; 保持干燥&#xff1a;方法重载 为什么每个人都讨厌操作员超载 API设计师&#xff0c;请小心 重载有用的主要原因有两个…

多态性(C#)

在面向对象编程中继承性和多态性是重要机制&#xff0c;前面我为大家分享了我对“类的继承”的理解&#xff0c;哪么今天我就跟大家分享下我对“多态性(C#)”的理解。 首先我们先来看看多态的定义&#xff0c;同一操作作用于不同的对象&#xff0c;可以有不同的解释&#xff0c…

孙叫兽重磅推荐Chrome插件——CSDN浏览器助手

导读:解决你在浏览器上遇到的各种问题,无论你是学生小白、还是职场老鸟,都可以借助这个插件,打造个性化浏览器,提升工作学习效率。 此插件经过多轮迭代,体积小,内存占用少,便于开发者快速安装和使用。 官方地址:https://plugin.csdn.net/ 目录 安装方法:

mysql concat 引号_在MySQL concat里面使用多个单引号,三引号的问题

在动态拼接字符串时&#xff0c;我们常会用到字符拼接&#xff0c;我对拼接的引号不理解&#xff0c;如&#xff1a;1、 id 为什么是3个引号&#xff0c;为什么左边一个加号右边一个加号(能不能着重帮我解释下这个&#xff0c;详细点)SQL codesum(case Leave when id then D…

【APICloud系列|21】使用APICloud敏捷式开发总结,回顾开发一个完整APP过程。

导读:APICloud是柚子(北京)科技有限公司创建的低代码开发平台,总部位于北京, 通过生产力工具与混合开发技术,为企业与开发者构建高效的IT环境;在APICloud平台已有80万注册用户,平台每日生成安装包超6000个。业务团队延伸至上海、深圳、重庆、青岛等10余个城市。 APICloud是…

mysql 存储过程 记录是否存在_如何检查MySQL中是否存在存储过程?

让我们首先创建一个存储过程-mysql> DELIMITER //mysql> CREATE PROCEDURE ExtenddatesWithMonthdemo(IN date1 datetime, IN NumberOfMonth int )-> BEGIN-> SELECT DATE_ADD(date1,INTERVAL NumberOfMonth MONTH) AS ExtendDate;-> END;-> //mysql> DEL…

[ExtJS5学习笔记]第三十五条 sencha extjs 5 组件查询方法

一UI前部组件势必更加&#xff0c;我们通常习惯性使用ID获取部件操作的需要。但是&#xff0c;这种方法是extjs推荐么&#xff1f;你有吗extjs利用它来获取组件的推荐方法&#xff1f; 夹 文件夹extjs的查询组件的API查询实例主要的组件查询组件树查询通过组件的属性检索属性匹…