java实现文件读写,Java实现文件的读写

packagecom.sbx.io;importjava.io.File;importjava.io.FileReader;importjava.io.FileWriter;importjava.util.Scanner;/*** Created by BlueLover

* Name:苏半夏

* Date:2021/2/26

* Time:11:00*/

public classMyFileTest {/*** 使用FileOutputStream类向文件中写入数据与使用FileInputStream类从文件中将内容读出来,都存在一点不足,即这两个类值提供了对字节或字节数组的读取方法。由于汉字在文件中占用两个字节,如果使用字节流,读取不好可能会出现乱码现象,此时采用字符流Reader或Writer类即可避免这种现象。*/String text;//读取文件的方法

public voidReadFile(File file){try{//读取文件中的内容

FileReader in = newFileReader(file);char byt[] = new char[2];intlen;

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 voidWriteFile(File file){try{/*** 为了避免原有内容被覆盖,我们需要先读取出原有的内容*/

this.ReadFile(file);//写入文件

FileWriter out = newFileWriter(file);

System.out.println("请输入要写入的内容:");

Scanner scanner= newScanner(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 voidmain(String[] args) {

File file= new File("test.txt");

MyFileTest myFileTest= newMyFileTest();

System.out.println("============读取==============");

myFileTest.ReadFile(file);

System.out.println("============写入==============");

myFileTest.WriteFile(file);

System.out.println("============写入后读取==============");

myFileTest.ReadFile(file);

}

}/*潇洒如我最近却变得有点敏感

半小时收不到你讯息就会坐立不安

都说别爱的太满 这道理知易行难

我还挺乐意享受这份甜中微酸

你的笑像西瓜最中间那一勺的口感

点亮了一整个夏天 星空也为你斑斓

我不会深情款款上演什么套路桥段

我的爱纯粹简单*/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值