码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Java InputStream如何读取文件呢?


    转自:

    Java InputStream如何读取文件呢?

    下文笔者将讲述InputStream读取文件的方法分享,如下所示:

    FileInputStream通过文件byte数组暂存文件中内容
    将其转换为String数据
    再根据“回车换行” 进行分割

    public static String[] readToString(String filePath) {
        File file = new File(filePath);
        Long filelength = file.length(); // 获取文件长度
        byte[] filecontent = new byte[filelength.intValue()];
        try {
            FileInputStream in =new FileInputStream(file); in .read(filecontent); in .close();
        } catch(FileNotFoundException e) {
            e.printStackTrace();
        } catch(IOException e) {
            e.printStackTrace();
        }
    
        String[] fileContentArr = new String(filecontent).split("\r\n");
    
        return fileContentArr; // 返回文件内容,默认编码
    }
    

    使用InputStream从文件里读取数据,在已知文件大小的情况下,建立合适的存储字节数组

    public class TestClass {
        public static void main(String args[]) throws Exception {
            File f = new File("E:" + File.separator + "test" + File.separator + "StreamDemo" + File.separator + "java265.txt");
            InputStream in =new FileInputStream(f);
            byte b[] = new byte[(int) f.length()]; //创建合适文件大小的数组
            in .read(b); //读取文件里的内容到b[]数组
            in .close();
            System.out.println(new String(b));
        }
    }
    

    使用InputStream从文件里读取数据
    当不知道文件大小时,可循环读取文件

    public static void main(String args[]) throws Exception {
        File f = new File("E:" + File.separator + "test" + File.separator + "StreamDemo" + File.separator + "java265.txt");
        InputStream in =new FileInputStream(f);
        byte b[] = new byte[1024];
        int len = 0;
        int temp = 0; //全部读取的内容都使用temp接收
        while ((temp = in.read()) != -1) { //当没有读取完时,继续读取
            b[len] = (byte) temp;
            len++;
        } in .close();
        System.out.println(new String(b, 0, len));
    }
  • 相关阅读:
    Spring IOC源码:实例化前的准备工作
    股票交易作为事后诸葛,交易次数不同时,返回挣到的最大钱数。
    阿里面试官问的 Redis 太刁钻,索性整理出所有大厂的 Redis 面试题,拿下麻烦的面试官
    贪心算法之活动安排问题
    深入理解JMeter中的JSON Extractor
    EventLoop 事件循环
    zabbix进阶、Grafana最佳实战
    SpringBoot相关
    我的大学期末网页作业 仿学校网站制作实现 HTML+CSS西北大学新闻网带psd带js
    什么是JMM
  • 原文地址:https://blog.csdn.net/qq_25073223/article/details/126314712
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号