Java 读写文件工具类

Java 读写文件工具类今天简单写了一下读写文件用的工具类,方便后面开发或者测试时直接使用。importlombok.Cleanup;importjava.io.*;importjava.util.ArrayList;importjava.util.List;publicclassFileUtils{//逐行读取文件内容返回内容列表publicstaticList<String>readLine(Stringpath){List<Str

大家好,又见面了,我是你们的朋友全栈君。

今天简单写了一下读写文件用的工具类,方便后面开发或者测试时直接使用。

import lombok.Cleanup;
import java.io.*;
import java.util.ArrayList;
import java.util.List;

public class FileUtils {

    //逐行读取文件内容返回内容列表
    public static List<String> readLine(String path){
        List<String> list = new ArrayList<>();
        try {
            //@Cleanup lombok用法 自动关闭IO
            @Cleanup BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(path)));
            String line = "";
            while ((line = reader.readLine()) != null){
                if (line.trim().length()>0){
                    list.add(line);
                }
            }
        }catch (Exception e){
            e.printStackTrace();
        }
        return list;
    }


    //读取文件内容并返回
    public static String readToString(String fileName){
        String encoding = "UTF-8";
        //new File对象
        File file = new File(fileName);
        //获取文件长度
        Long filelength = file.length();
        //获取同长度的字节数组
        byte[] filecontent = new byte[filelength.intValue()];
        FileInputStream in = null;
        try {
            in = new FileInputStream(file);
            in.read(filecontent);
            return new String(filecontent,encoding);
        }catch (Exception e){
            e.printStackTrace();
            return null;
        }finally {
            try {
                in.close();
            }catch (IOException e){
                e.printStackTrace();
            }
        }

    }

    //向文件里写入内容
    public static void saveAsFileWriter(String path, String content){
        File file = new File(path);
        //如果目录不存在 创建目录
        try {
            if(!file.getParentFile().exists()){
                file.getParentFile().mkdirs();
            }
            file.createNewFile();
        }catch (IOException e){
            e.printStackTrace();
        }
        FileWriter fileWriter = null;
        try {
            // true表示不覆盖原来的内容,而是加到文件的后面。若要覆盖原来的内容,直接省略这个参数就好
            fileWriter = new FileWriter(path, false);
            fileWriter.write(content);
        }catch (IOException e){
            e.printStackTrace();
        }finally {
            try {
                fileWriter.flush();
                fileWriter.close();
            }catch (IOException e){
                e.printStackTrace();
            }
        }
    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/159357.html原文链接:https://javaforall.net

(0)
上一篇 2022年7月14日 下午11:00
下一篇 2022年7月14日 下午11:00


相关推荐

  • Java 图片 滑动 解锁「建议收藏」

    Java 图片 滑动 解锁「建议收藏」滑动解锁功能大家都不陌生,类似于如下这种:公司近期也要求实现类似的功能,百度各种文章,总算实现了一个比较糙的版本,保密等原因就不贴完成图了。我觉得难点在于滑块图和背景图的处理。图片处理原理我粗略的理解,图片就是一个二维的直角坐标系的一部分,(x,y)就是对应位置的一个像素点,可以操作某一个像素点,比如改变颜色,设置透明度等。Java中使用BufferedImage完成图…

    2022年6月18日
    41
  • API Explorer 公测发布

    API Explorer 公测发布

    2021年6月13日
    158
  • 6款漂亮HTML CSS样式用户留言表单

    6款漂亮HTML CSS样式用户留言表单如今我们的网站、页面更加需要注重细节,不论是字体的样式、还是图片的分辨率清晰度都会影响到用户的访问体验和PV,以及用户以后是否会回访我们的网站/博客。如果有时间的时候,老左也会浏览和阅读相关的前端网站和积累一些不错的前端资源,在"8款设计师常用漂亮的HTMLCSS表格样式"中展示了几款不错的价格列表,在这篇文章中整理6个用户留言HTMLCSS样式。标记首先我们要在网页中加上常用的几个标签文本,……

    2022年7月18日
    18
  • c语言多线程的使用场合,c语言多线程编程使用示例

    c语言多线程的使用场合,c语言多线程编程使用示例2014 include include include defineTHREAD NUM10void test void args printf tid d isay Hello n args returnNULL intmain inti err pthread tchild THREAD NUM for i 0 i

    2026年3月26日
    2
  • vue之element-ui文件上传「建议收藏」

    vue之element-ui文件上传「建议收藏」文件上传需求  对于文件上传,实际项目中我们的需求一般分两种:对于单个的文件上传,比如拖动上传个图片之类的,或者是文件。 和表单一起实现上传(这种情况一般都是文件上传之后,后端返回保存在服务器的文件名,最后和我们的表单一起上传)对于第一种情况,通过看api就很明了。http://element-cn.eleme.io/#/zh-CN/component/upload对于第二…

    2022年8月15日
    7
  • 推荐几本WinCE 6程序开发的书

    推荐几本WinCE 6程序开发的书

    2022年3月13日
    38

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号