需求:实现基本的读写

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);
}
} /*
潇洒如我最近却变得有点敏感
半小时收不到你讯息就会坐立不安
都说别爱的太满 这道理知易行难
我还挺乐意享受这份甜中微酸
你的笑像西瓜最中间那一勺的口感
点亮了一整个夏天 星空也为你斑斓
我不会深情款款上演什么套路桥段
我的爱纯粹简单
*/

最新文章

  1. angular + easyui 做界面验证
  2. html标题_段落_换行_水平线_特殊字符
  3. Weka 3: Data Mining Software in Java
  4. Need to add a caption to a jpg, python can't find the image
  5. 【风马一族_git_github】git与github的英文记录
  6. Linq保留字含义
  7. CMarkUp读写XML(转)
  8. Java CopyOnWriteArrayList分析
  9. Web Socket rfc6455 握 (C++)
  10. log4go 的 Bug Fix 及 增强
  11. JavaWeb之数据源连接池(4)---自定义数据源连接池
  12. 在使用 Git pull 时候报错 error: inflate
  13. SQL年月日格式化
  14. 使用ssm(spring+springMVC+mybatis)创建一个简单的查询实例(一)
  15. web前端全栈学习之路
  16. 深入了解 Java-Netty高性能高并发理解
  17. springweb flux websocket
  18. ACdream1093
  19. Servlet中常用对象及API类之间的关系
  20. Problem 2278 YYS (FZU + java大数)

热门文章

  1. Codeforces Round #631 (Div. 2) D.Dreamoon Likes Sequences
  2. hdu 6794 Tokitsukaze and Multiple 前缀和思想+思维
  3. C# 之 dynamic
  4. WSL2 新建dotnet core mvc项目
  5. requests -- Python
  6. ucosIII学习笔记——钩子函数
  7. Base64 编码原理
  8. 牛年 dotnet云原生技术趋势
  9. C# 数据类型(3)
  10. Linux 驱动框架---模块参数