工具类:对文件的读取,创建。直接复制拿来用!
package cn.zyzpp.util;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;

public class TxtUtil {
    /**
     *  读取文件
     * @param path
     * @return 文件的字符串内容
     */
    public static String test(String path) {
        try {
            String pathname = path;
            // File对象
            File filename = new File(pathname);
            // 文件字节输入流对象
            FileInputStream fileInputStream = new FileInputStream(filename);
            // 字节转字符输入流对象 InputStreamReader:字节流到字符流的桥梁
            InputStreamReader reader = new InputStreamReader(fileInputStream, "utf-8");
            // BufferedReader(字符缓冲输入流),提供通用的缓冲方式文本读取
            BufferedReader br = new BufferedReader(reader);
            // 多线程StringBuffer 单线程StringBuilder
            StringBuffer txt = new StringBuffer();
            String line = "";
            while ((line = br.readLine()) != null) {
                txt.append(line);
            }
            // 方法一:流的关闭:先打开的后关闭,后打开的先关闭
            // 方法二:可以只调用外层流的close方法关闭其装饰的内层流
            br.close();
            return txt.toString();
        } catch (Exception e) {
            // e.printStackTrace();
            return null;
        }
    }

    /**
     * 写入Txt
     * @param path
     * @param txt
     * @throws IOException
     */
    public static boolean writeFile(String path, String txt) {
        // 相对路径,如果没有则要建立一个新的path文件
        File file = new File(path);
        try {
            // 创建新文件
            file.createNewFile();
            // 字符缓冲输出流:写东西到该文件
            BufferedWriter out = new BufferedWriter(new FileWriter(file));
            // 写东西:\r\n即为换行
            out.write(txt);
            // 把缓存区内容压入文件
            out.flush();
            // 最后关闭流
            out.close();
            //返回成功
            return true;
        } catch (IOException e) {
            //e.printStackTrace();
            //返回失败
            return false;
        }
    }

}

Java之文本文件的创建和读取(含IO流操作)的更多相关文章

  1. Java IO流操作汇总: inputStream 和 outputStream【转】

    我们在进行Android java 开发的时候,经常会遇到各种IO流操作.IO流操作一般分为两类:字符流和字节流.以“Reader”结尾都是字符流,操作的都是字符型的数据:以“Stream”结尾的都是 ...

  2. 关于java读取文件IO流学习总结(一)

    IO流的分类: 1.根据流的数据对象来分: 高端流:所有的内存中的流都是高端流,比如:InputStreamReader 低端流:所有的外界设备中的流都是低端流,比如InputStream,Outpu ...

  3. Java自学第10期——File类与IO流(输入输出流、处理流、转换流、缓冲流、Properties集合、打印流)

    1.IO简介 IO(输入输出)通过java.io包下的类和接口来支持,包下包括输入.输出两种IO流,每种输入输出流又可分为字符流和字节流两大类. 2.File类 File类是io包下与平台无关的文件和 ...

  4. Java高级程序设计笔记 • 【第1章 IO流】

    全部章节   >>>> 本章目录 1.1 File类访问文件 1.1.1 File 类 1.1.2 File 类方法 1.1.3 实践练习 1.2 文件过滤器 1.2.1 Fi ...

  5. java+++IO流操作

    序:IO流的操作主要分为两种读和写.一方面:我们可以通过不加缓冲类字符流BufferedReader/Writer和字节流BufferedInputStream/OutputStream来进行简单的读 ...

  6. Java第三阶段学习(二、IO流--------递归,字节流Stream)

    一.递归 定义:指方法在方法内调用自己 适用于方法的运算主体不变,但运行的时候,参与运算的方法参数会变化注意:一定要给递归一个出口,否则内存溢出 练习题1:使用递归打印文件夹中所有的文件,包含子目录中 ...

  7. Java 常用IO流操作详解

    1.基本概念 IO:Java对数据的操作是通过流的方式,IO流用来处理设备之间的数据传输,上传文件和下载文件,Java用于操作流的对象都在IO包中. 2.IO流的分类 图示:(主要IO流) 3.字节流 ...

  8. Java中Io流操作-File类的常用操作-创建文件,创建文件夹

    package com.hxzy.IOSer; import java.io.File;import java.io.IOException; public class Demo03 { public ...

  9. 关于java读取文件IO流学习总结(二)

    今天网上随意逛了逛,某处看到关于文件的操作,描述的不错,加深了对于文件操作的理解,在此分享给大家.希望能够有所收获. java读取txt文件内容: 可以作如下理解: 1. 首先获得一个文件句柄.Fil ...

随机推荐

  1. MFC Bresesnham算法

    Bresesnham算法绘制直线段 Bresenham算法的意义:高效的将图形光栅化.其计算过程中均采用加法运算,故大大减少了程序的开销. 绘制直线段(MFC中) //传入参数:起点.终点,颜色 vo ...

  2. 复杂的web---web中B/S网络架构

    web中B/S网络架构 1:web中B/S网络架构 2:CDN工作机制和架构 3:负载均衡:    B/S分别是浏览器/服务器,架构流程为:     当你访问网站的时候,浏览器发送各种请求给浏览器,服 ...

  3. (办公)eclipse连接github cannot open git-upload-pack(git-receive-pack)

    原文地址:https://blog.csdn.net/royal__moon/article/details/79427431 打开eclipse安装目录下的eclipse.ini添加一句:-Dhtt ...

  4. Windows桌面或服务器环境下嵌入JavaScript支持(JSRT)

    很多人比较关注Google的JS V8 JavaScript引擎,确实Google最近很高调.但这个库在Windows下使用确实有点难度,即使在Linux嵌入,也需要下载gyp,编译安装,然后再下载v ...

  5. Java 一些知识点总结

    本篇文章会对面试中常遇到的Java技术点进行全面深入的总结,帮助我们在面试中更加得心应手,不参加面试的同学也能够借此机会梳理一下自己的知识体系,进行查漏补缺(阅读本文需要有一定的Java基础).本文的 ...

  6. AIOps 平台的误解,挑战及建议(下)— AIOps 挑战及建议

    本文篇幅较长,分为上,中,下,三个部分进行连载.内容分别为:AIOps 背景/所应具备技术能力分析(上),AIOps 常见的误解(中),挑战及建议(下). 前言 我大概是 5,6 年前开始接触 ITO ...

  7. 查看Windows服务器安装了那些SQL Server组件

    如何查看Windows服务器安装了那些SQL Server组件呢? 最近就遇到这样一个需求,需要知道Windows服务器是否安装了Replication组件,那么有几种方法查看Windows服务器安装 ...

  8. ExtJS中layout的12种布局风格

    总览 extjs的容器组件都可以设置它的显示风格,它的有效值有 1. absolute,2. accordion, 3. anchor, 4. border, 5. card, 6. column, ...

  9. MyBatis笔记----多表关联查询两种方式实现

    数据库 方式一:XML 按照下面类型建立article表 Article.java package com.ij34.model; public class Article { private int ...

  10. Angular的MVC理解--节自Adam Free的Pro angularv2

    1. 定义 Angular的核心是采用MVC模式,即Model-View-Controller,也即MVW,Model-View-Whatever. 如下图所示,借助于ASP.NET的MVC模式来描述 ...