首页 > 其他分享 >文件读取工具类

文件读取工具类

时间:2023-06-13 18:22:41浏览次数:21  
标签:文件 读取 filePath File file new byte 工具


import java.io.*;

/**
 * 文件读取工具类
 */
public class FileUtil {

    /**
     * 读取文件内容,作为字符串返回
     */
    public static String readFileAsString(String filePath) throws IOException {
        File file = new File(filePath);
        if (!file.exists()) {
            throw new FileNotFoundException(filePath);
        } 

        if (file.length() > 1024 * 1024 * 1024) {
            throw new IOException("File is too large");
        } 

        StringBuilder sb = new StringBuilder((int) (file.length()));
        // 创建字节输入流  
        FileInputStream fis = new FileInputStream(filePath);  
        // 创建一个长度为10240的Buffer
        byte[] bbuf = new byte[10240];  
        // 用于保存实际读取的字节数  
        int hasRead = 0;  
        while ( (hasRead = fis.read(bbuf)) > 0 ) {  
            sb.append(new String(bbuf, 0, hasRead));  
        }  
        fis.close();  
        return sb.toString();
    }

    /**
     * 根据文件路径读取byte[] 数组
     */
    public static byte[] readFileByBytes(String filePath) throws IOException {
        File file = new File(filePath);
        if (!file.exists()) {
            throw new FileNotFoundException(filePath);
        } else {
            ByteArrayOutputStream bos = new ByteArrayOutputStream((int) file.length());
            BufferedInputStream in = null;

            try {
                in = new BufferedInputStream(new FileInputStream(file));
                short bufSize = 1024;
                byte[] buffer = new byte[bufSize];
                int len1;
                while (-1 != (len1 = in.read(buffer, 0, bufSize))) {
                    bos.write(buffer, 0, len1);
                }

                byte[] var7 = bos.toByteArray();
                return var7;
            } finally {
                try {
                    if (in != null) {
                        in.close();
                    }
                } catch (IOException var14) {
                    var14.printStackTrace();
                }

                bos.close();
            }
        }
    }
}

标签:文件,读取,filePath,File,file,new,byte,工具
From: https://www.cnblogs.com/guobabiancheng/p/17478422.html

相关文章

  • VMware虚拟机和主机传输文件
    原文链接虚拟机为Linux系统使用vm-tools即可。卸载旧工具:vmware-uninstall-tools.pl安装新工具:apt-getinstallopen-vm-tools-desktop重启系统:reboot此时可以使用Ctrl+C、Ctrl+V的方式在主机和Linux虚拟机之间传输文件。虚拟机为Windows系统首先在本机新建一个文件......
  • go调用minio上传文件
    1packagemain23import(4"context"5"fmt"6"log"7"os"89"github.com/minio/minio-go/v7"10"github.com/minio/minio-go/v7/pkg/credentials"11)1213......
  • GO语言集成开发工具环境-JetBrains GoLand 2023
    Go是一种开源编程语言,适用于开发高效、可扩展的软件。由于其高效性和可扩展性,Go已经成为了一种流行的编程语言。为了更好地开发Go应用程序,JetBrains公司开发了一款Go语言集成开发工具环境——GoLand。→→↓↓载GoLand2023mac/win版 GoLand提供了一系列功能和工具,帮助开发......
  • JavaCV音视频开发宝典:使用JavaCV读取海康平台或海康网络摄像头sdk回调视频TS码流并解
    《JavaCV音视频开发宝典》专栏目录导航《JavaCV音视频开发宝典》专栏介绍和目录​前言两年前博主写了如何利用JavaCV解析各种h264裸流,《JavaCV音视频开发宝典:使用javacv读取GB28181、海康大华平台和网络摄像头sdk回调视频码流并解析预览图像》,但是随着时间变化,各个厂商sdk也......
  • tcpdump工具使用
    tcpdump采用命令行方式对接口的数据包进行筛选抓取,其丰富特性表现在灵活的表达式上。注意,tcpdump只能抓取流经本机的数据包,不带任何选项的tcpdump,默认会抓取第一个网络接口,且只有将tcpdump进程终止才会停止抓包。例如:1234#显示发往172.18.0.1服务器的数据,端口号指......
  • 5款超级好用的开发效率工具,建议收藏!
    大家好!高温天气切莫太累,注意防暑休闲开胃(~o~)~zZ人口过剩的时代,劳动力也追求高性价比。好的工具,能够帮助我们更高效地完成工作,节省时间(摸鱼时间)和精力,这几款宝藏的开源免费效率工具,特别分享!让你事半功倍,赶快试试吧!Postcat-在线API开发测试工具https://postcat.com/zh/Post......
  • RDIFramework.NET ━ .NET快速信息化系统开发框架 V3.2 新增解压缩工具类ZipHelper
    在项目对文件进行解压缩是非常常用的功能,对文件进行压缩存储或传输可以节省流量与空间。压缩文件的格式与方法都比较多,比较常用的国际标准是zip格式。压缩与解压缩的方法也很多,在.NET2.0开始,在System.IO.Compression中微软已经给我们提供了解压缩的方法GZipStream。对于GZipSt......
  • 解决方案 | Adobe Acrobat XI Pro 右键菜单“在Acrobat中合并文件”丢失的最佳修复方
    1、问题 AdobeAcrobatXIPro右键菜单“转换为AdobePDF”与“在Acrobat中合并文件”不见了。 2、解决方案桌面左下角搜索“添加或删除程序”,按照如下修复即可。 ......
  • postman运行collection上传文件脚本 console报错 Form param `file`, file load error
    postman运行collection上传文件脚本console报错Formparam`file`,fileloaderror:PPERM:insecurefileaccessoutsideworkingdirectory是因为没有打开上传的文件的所在目录解决办法有两种:1)在files路径下存放你所要的测试数据2)开启允许读取工作目录外的文件......
  • pycharm打包python项目为exe执行文件
    1.先把所有需要用到的,引用的文件放在同一个文件夹(新建)下面,修改主要2.生成.spec文件,根据这个文件来生成exe可执行文件。生成.spec的命令如下:pyi-makespecXXX.py命令,这里XXX.py为主程序文件,该命令会生成一个XXX.spec文件;如果需要使用ico,则可以使用pyi-makespecXXX.py-imyicon......