java读写文件

java读写文件1、一次性读取整个文件内容/***一次性读取全部文件数据*@paramstrFile*/publicstaticvoidreadFile(StringstrFile){try{InputStreamis=newFileInputStream(strFile);…

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

1、一次性读取整个文件内容

/** * 一次性读取全部文件数据 * @param strFile */
    public static void readFile(String strFile){ 
   
        try{ 
   
            InputStream is = new FileInputStream(strFile);
            int iAvail = is.available();
            byte[] bytes = new byte[iAvail];
            is.read(bytes);
            logger.info("文件内容:\n" + new String(bytes));
            is.close();
        }catch(Exception e){ 
   
            e.printStackTrace();
        }
    }

2、字符流按行读取文件

/** * 按行读取文件 * @param strFile */
    public static void readFileByLine(String strFile){ 
   
        try { 
   
            File file = new File(strFile);
            BufferedReader bufferedReader = new BufferedReader(new FileReader(file));
            String strLine = null;
            int lineCount = 1;
            while(null != (strLine = bufferedReader.readLine())){ 
   
                logger.info("第[" + lineCount + "]行数据:[" + strLine + "]");
                lineCount++;
            }
        }catch(Exception e){ 
   
            e.printStackTrace();
        }
    }

3、字节流按行读取文件

 /**
     * 按行读取全部文件数据
     *
     * @param strFile
     */
    public static StringBuffer readFile(String strFile) throws IOException { 
   
        StringBuffer strSb = new StringBuffer();
        InputStreamReader inStrR = new InputStreamReader(new FileInputStream(strFile), "UTF-8");
        // character streams
        BufferedReader br = new BufferedReader(inStrR);
        String line = br.readLine();
        while (line != null) { 
   
            strSb.append(line).append("\r\n");
            line = br.readLine();
        }
        return strSb;
    }

4、写文件

  /**
     * 写入文件
     * @param fileName
     * @param s
     * @throws IOException
     */
    public static void writeToFile(String fileName,String s) throws IOException { 
   
        File f1 = new File(fileName);
        OutputStream out = null;
        BufferedWriter bw = null;
        if (f1.exists()) { 
   
            out = new FileOutputStream(f1);
            bw = new BufferedWriter(new OutputStreamWriter(out, "utf-8"));
            bw.write(s);
            bw.flush();
            bw.close();
        } else { 
   
            System.out.println("文件不存在");
        }
    }

5、写文件,追加内容

/**
     * 追加文件
     */
    public static void writeToFileAppend(String fileName, String text) { 
   
        FileWriter fw = null;
        try { 
   
            //如果文件存在,则追加内容;如果文件不存在,则创建文件
            File f = new File(fileName);
            fw = new FileWriter(f, true);
        } catch (IOException e) { 
   
            e.printStackTrace();
        }
        PrintWriter pw = new PrintWriter(fw);
        pw.println(text);
        pw.flush();
        try { 
   
            fw.flush();
            pw.close();
            fw.close();
        } catch (IOException e) { 
   
            e.printStackTrace();
        }
    }
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 在微观经济学中,对某一商品的需求是指_苹果公司因违反俄反垄断法被罚

    在微观经济学中,对某一商品的需求是指_苹果公司因违反俄反垄断法被罚供给与需求理论—–说明市场经济中供给与需求如何决定价格,以及价格又如何配置经济中的稀缺资源。4.1市场与竞争4.1.1什么是市场1、市场:由某种物品或劳务的买者与卖者组成的一个群体;4.1.2什么是竞争市场1、竞争市场:有许多买者与卖者,以至于每个人对市场价格的影响都微乎其微的市场。2、完全竞争市场—-两个特征:1)可供销售的物品是完全相同的;2)买者和卖者人数众

    2025年6月12日
    0
  • linux 系统进行make menuconfig的时候出错

    linux 系统进行make menuconfig的时候出错错误信息:(ps:当前系统:Linuxlabpc4.13.0-36-generic#40~16.04.1-UbuntuSMPFriFeb1623:25:58UTC2018x86_64x86_64x86_64GNU/Linux)HOSTCCscripts/kconfig/mconf.oInfileincludedfromscripts/kc…

    2022年5月25日
    31
  • 一批SP名单_SP公司

    一批SP名单_SP公司一批SP名单: 端口号(服务号)SP公司名01007广东嘉讯

    2022年10月4日
    0
  • mybatis-plus自动生成代码的调用用法(mybatisplus批量新增)

    一、介绍本教程将介绍如何使用mybatis-plus工具自动给我们生成Controller、Service、Entity、Mapper、Mapper.xml层代码要求:①生成的Controller类,需要继承BaseController②生成的Entity类,需要继承BaseEntity③生成的Service,默认名称下是以I开头的接口,在生成Se…

    2022年4月15日
    113
  • Qt播放器学习

    Qt播放器学习Phonon库安装:进入源代码的phonon目录,如”../qt-everywhere-opensource-src-4.6.0/src/phonon”,实际代码并不在里面,从phonon.pro文件可知源代码在“/src/3rdparty/phonon/phonon”,但并不影响编译。在终端输入“make;makeinstall”即可,如果安装时出错,也可手动将lib、includ

    2022年6月10日
    24
  • vue相比jquery_angular和vue哪个厉害

    vue相比jquery_angular和vue哪个厉害jQuery到Vue的转变是一个思想的转变,将原有的直接操作dom的思想转变到操作数据上前言:很多人说jquey和vue没有什么可比的,应该和Angular,React来比吧,我到觉得他们倒没有多大的可比性,都是基于mvvm思想设计的框架,无非就是实现的方式不一样,在不同场景下性能上会有一些差异。然而从jquery到vue或者说是到mvvm的转变则是一个思想想的转变,是将原有的直接操作dom的思想转变到操作数据上去,难道不是一个根本性的改变吗?jquery介绍:想必大家都用过jquery吧,这个曾经.

    2022年10月15日
    0

发表回复

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

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