首页 > 编程语言 > 详细

Java实现文件的读写

时间:2021-03-01 21:54:20      阅读:38      评论:0      收藏:0      [点我收藏+]

需求:实现基本的读写

技术分享图片
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);
    }
}

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

 

Java实现文件的读写

原文:https://www.cnblogs.com/weiXinp/p/14465599.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!