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();
        }
    }
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • FormatDateTime说解[通俗易懂]

    描述返回一个日期或时间格式的表达式。语法FormatDateTime(Date[,NamedFormat])FormatDateTime函数语法有如下几部分:部分描述Date必需的。要被格式化的日期表达式。NamedFormat可选的。数字值,表示日期/时间所使用的格式。如果忽略该值,则使用vbGeneralDate。设置值N…

  • 如何用phpmyadmin导入大容量.sql文件,直接使用cmd命令进行导入

    如何用phpmyadmin导入大容量.sql文件,直接使用cmd命令进行导入

    2021年10月15日
  • C/C++获取当前系统时间的方法

    C/C++获取当前系统时间的方法1、使用系统函数,并且可以修改系统时间#include<stdlib.h>usingnamespacestd;voidmain(){system("time");}备注:获取的为 小时:分钟:秒 信息2、获取系统时间(秒级),可以换算为年月日星期时分秒#include<iostream>#include<time.h>us…

    2022年10月19日
  • CultureInfo 類別

    CultureInfo 類別CultureInfo類別.NETFramework2.0其他版本.NETFramework4.5.NETFramework4.NETFramework3.5Silverlight5人當中有2人評分為有幫助-為這個主題評分提供特定文化特性(Culture)的相關資訊,如文化特性名稱、書寫系…

  • suse linux rpm 安装

    suse linux rpm 安装安装rpm包时遇到error:Faileddependencies:错误在linux下安装rpm包时经常会遇到下面这个问题:error:Faileddependencies:……………………………………………..省略号表示安装此rpm缺少的包。遇到此问题时可以在安装rpm包命令的后面加两个参数,如:

  • ios激活成功教程软件_qt.qpa.plugin:Could not

    ios激活成功教程软件_qt.qpa.plugin:Could not注意:一定要手动创建文件夹,在相应文件夹下进行操作,否则无法成功生成注册码激活成功教程步骤:1.安装qtp,一路默认下来,到要求输入License的界面2.拷贝mgn-mqt82.exe(下载)到C:\ProgramFiles\MercuryInteractive(自己手动创建)文件夹下3.自己手动创建C:\ProgramFiles\CommonFiles\Mercury

发表回复

您的电子邮箱地址不会被公开。

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