Java之文本文件的创建和读取(含IO流操作)

工具类:对文件的读取,创建。直接复制拿来用!
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;
		}
	}

}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Hongten

验证信息

import java.io.BufferedReader; import java.io.IOException; import java.io.InputS...

745
来自专栏Phoenix的Android之旅

只用一行代码的单例模式

作为Android开发者对Kotlin语言应该不会陌生, 下面这个单例模式就是用Kotlin写的,

1343
来自专栏Aloys的开发之路

能让程序做的事情坚决不用人来做——批量修复markdownlint MD034警告

欢迎和大家交流技术相关问题: 现在各种编程语言都有自己的lint工具来做静态检查,防止一些低级错误并维持统一的风格。Markdown这样的样式标记语言也不例外,...

3479
来自专栏IT可乐

XML 的4种解析方式

  在上一篇博客中,我们介绍了什么是 XML ,https://cloud.tencent.com/developer/article/1012661,那么这一...

8708
来自专栏Pulsar-V

OpenCV在ubuntu下的编译

opencv的编译 下面我们写一个shell命名为build.sh放在opencv的根目录下面,代码如下: mkdir $1 cd $1 cmake -DWIT...

3115
来自专栏小灰灰

Java之写文件

java之写文件 上一篇写了java读取文件的各种操作姿势,这里也补一个写文件的工具类,比较简单 1. 读写类介绍 (和上一篇差不多) java读写文件的I...

3386
来自专栏高性能服务器开发

这些年一直记不住的 Java I/O

阅读目录 参考资料 前言 从对立到统一,字节流和字符流 从抽象到具体,数据的来源和目的 从简单到丰富,使用 Decorator 模式扩展功能 Java 7 中引...

3575
来自专栏mathor

FileInput(Output)Stream

1284
来自专栏软件工程师成长笔记

Java判断计算机网络连接是否正常

3262
来自专栏LanceToBigData

XML(二)之DTD——XML文件约束

前面介绍了XML的作用和基本的格式,今天我给大家分享的是关于XML的约束。废话不多说,我们直接来正题! 一、DTD简介 1.1、DTD概述   DTD(Docu...

2619

扫码关注云+社区

领取腾讯云代金券