需求:实现基本的读写

package com.sbx.io;

import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.util.Scanner; /**
* Created by BlueLover
* Name:苏半夏
* Date:2021/2/26
* Time:11:00
*/
public class MyFileTest {
/**
* 使用FileOutputStream类向文件中写入数据与使用FileInputStream类从文件中将内容读出来,都存在一点不足,即这两个类值提供了对字节或字节数组的读取方法。由于汉字在文件中占用两个字节,如果使用字节流,读取不好可能会出现乱码现象,此时采用字符流Reader或Writer类即可避免这种现象。
*/ String text;
//读取文件的方法
public void ReadFile(File file){
try{
//读取文件中的内容
FileReader in = new FileReader(file);
char byt[] = new char[2];
int len;
System.out.println("文件中的信息是:");
while((len = in.read(byt))!=-1){
System.out.print(new String(byt,0,len));
text += new String(byt,0,len);
}
in.close();
text = this.text.substring(4);
System.out.println(text);
} catch (StringIndexOutOfBoundsException e1){
System.out.println("文件内容为空");
} catch (Exception e){
e.printStackTrace();
}
} //写入文件的方法
public void WriteFile(File file){
try{
/**
* 为了避免原有内容被覆盖,我们需要先读取出原有的内容
*/
this.ReadFile(file);
//写入文件
FileWriter out = new FileWriter(file);
System.out.println("请输入要写入的内容:");
Scanner scanner = new Scanner(System.in);
String newText = scanner.next();
System.out.println("是否覆盖原有内容?请选择:1-是 2-否 ");
if (Integer.parseInt(scanner.next())==1){
System.out.println("您选择覆盖原有内容");
out.write(newText);
}else{
System.out.println("您选择不覆盖原有内容");
out.write(this.text);
out.write(newText);
}
scanner.close();
out.close();
}catch (Exception e){
e.printStackTrace();
}
} public static void main(String[] args) {
File file = new File("test.txt");
MyFileTest myFileTest = new MyFileTest();
System.out.println("============读取==============");
myFileTest.ReadFile(file);
System.out.println("============写入==============");
myFileTest.WriteFile(file);
System.out.println("============写入后读取==============");
myFileTest.ReadFile(file);
}
} /*
潇洒如我最近却变得有点敏感
半小时收不到你讯息就会坐立不安
都说别爱的太满 这道理知易行难
我还挺乐意享受这份甜中微酸
你的笑像西瓜最中间那一勺的口感
点亮了一整个夏天 星空也为你斑斓
我不会深情款款上演什么套路桥段
我的爱纯粹简单
*/

Java实现文件的读写的更多相关文章

  1. Java 实现文件随机读写-RandomAccessFile

    现有如下的一个需求,向已存在1G数据的txt文本里末尾追加一行文字,内容如下“Lucene是一款非常优秀的全文检索库”.可能大多数朋友会觉得这个需求很easy,说实话,确实easy,然后XXX君开始实 ...

  2. Java实现文件的读写,复制

    import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.FileInputStr ...

  3. java字符文件的读写

    1.java文件读写,首先我们需要导入相应的包:java.io.*; 2.代码如下: package Demo1; import java.io.*; public class FileWirteTe ...

  4. java 实现文件读写操作

    import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; /* JAVA IO 读写操作 20 ...

  5. java中文件的I/O操作

    java中文件的读写操作 (一) (1)java中文件的字节转成字符读操作 FileInputStream fStream = new FileInputStream("test.txt&q ...

  6. Java的文件读写操作

    file(内存)----输入流---->[程序]----输出流---->file(内存) 当我们读写文本文件的时候,采用Reader是非常方便的,比如FileReader,InputStr ...

  7. java filechannel大文件的读写

    java读取大文件 超大文件的几种方法 转自:http://wgslucky.blog.163.com/blog/static/97562532201332324639689/   java 读取一个 ...

  8. Java程序员的日常—— Properties文件的读写

    在日常的Java程序开发中,Properties文件的读写是很常用的.经常有开发系统通过properties文件来当做配置文件,方便用户对系统参数进行调整. 那么本片就来简单的介绍下,如何使用Prop ...

  9. Java的文件读写操作 <转>

    目录: file内存----输入流----程序----输出流----file内存 java中多种方式读文件 判断文件是否存在不存在创建文件 判断文件夹是否存在不存在创建文件夹 java 写文件的三种方 ...

随机推荐

  1. Gym 101485 E Elementary Math 网络流 或者 二分图

    题意: 输入一个n,后面输入n行,每一行两个数a.b.你可以对a.b进行三种操作:+.-.* 你需要保证对每一行a.b选取一个操作得到一个结果 你要保证这n行每一个式子选取的操作之后得到的结果都不一样 ...

  2. 【noi 2.6_9280】&【bzoj 1089】严格n元树(DP+高精度+重载运算符)

    题意:定义一棵树的所有非叶节点都恰好有n个儿子为严格n元树.问深度为d的严格n元树数目. 解法:f[i]表示深度为<=i的严格n元树数目.f[i]-f[i-1]表示深度为i的严格n元树数目.f[ ...

  3. 洛谷 P6851 onu (贪心,模拟)

    题意:C和D打牌,每张牌有花色和点数,小D刚开始的分数为\(v\),不管输还是赢,只要小D出了牌(花色必须相同),就能得到那张牌点数的分数,若是赢了(点数不小于D的牌),他可以另外加\(c\)分,输了 ...

  4. URAL - 1635 哈希区间(或者不哈希)+dp

    题意: 演队在口试中非常不幸.在42道考题中,他恰好没有准备最后一道题,而刚好被问到的正是那道题.演队坐在教授面前,一句话也说不出来.但教授心情很好,给了演队最后一次通过考试的机会.他让这个可怜的学生 ...

  5. cs寄存器

    练习 答案: 代码段: cs:ip指定的cpu认为是指令

  6. HTTP笔记4--HTTP 状态码

    状态码作用.组成 HTTP 状态码负责表示客户端 HTTP 请求的返回结果.标记服务器端的处理是否正常.通知出现的错误等工作.状态码的职责是当客户端向服务器端发送请求时,描述返回的请求结果. 状态码如 ...

  7. 《软件建模与分析》——UML基本概念

    UML-基本概念 UML本质上是一种语言,语言的学习离不开基本的单词(元素)和语法(视图.模型)的学习,今天我们就从它们开始. 元素 类图中的关系 控制权限 继承 实现 依赖:一个类A使用到了另一个类 ...

  8. [Python] Uvicorn+FastAPI快速搞定Restful API开发

    目录 安装模块 运行代码 运行命令 快速文档 安装模块 # 一个现代的,快速(高性能)python web框架 pip install fastapi # 主要用于加载和提供应用程序的服务器. pip ...

  9. 在QT C++中调用 Python并将软件打包发布(裸机可运行)

    为了提高工作效率,需要一个可以自动生成多份相关联的word文档免去繁琐复制粘贴工作的软件.最后选定使用QT C++做界面和主要逻辑程序设计,对word的操作使用python写好对应的函数,然后在QT中 ...

  10. c# App.xaml

    随着wpf自动创建的,是项目的起始点..Net先再App里找,找到了window然后开启window,项目真正的起始点是在App里. 这两个 (App 的xaml和cs文件)和MainWindow 的 ...