栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java 操作文本文件追加数据,在文件不存在的情况下创建

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java 操作文本文件追加数据,在文件不存在的情况下创建

public class TextFileAppendDataTest {
	static void readTxtFile(InputStreamReader reader) throws IOException {
		if (reader == null) {
			return;
		}
		char[] buff = new char[1024];
		while (reader.read(buff) != -1) {
			System.out.println(String.valueOf(buff));
		}
	}

	static void writeTxtFile(OutputStreamWriter writer) throws IOException {
		if (writer == null) {
			return;
		}
		//FileWriter k=new FileWriter("",true);
		// writer.append(csq, start, end) // append方法是骗人的,实际上就是清空当前的文本信息,最后在写入数据
		String writeContext = "rn你好这是追加数据内容!";
		writer.write(writeContext);
		// writer.appedn("rn你好这是追加数据内容!"); // 错误
		writer.flush();
	}

	public static void main(String[] args) {
		// 1. 追加文本数据前
		String txtFilePath = "tmp/txtFile.txt";
		File file = new File(txtFilePath);
		if (!file.exists()) {
			System.out.println("当前需要追加数据的文件不存在");
			return;
		}

		// 显示追加前的文本信息
		// 直接使用try()方式,由于当前的流只要实现了Closeable就可以自动关闭流了
		try (FileInputStream fis = new FileInputStream(file);
				InputStreamReader reader = new InputStreamReader(fis)) {
			System.out.println("写入数据前文本信息!");
			readTxtFile(reader);
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		// 向文本文件中追加数据
		// FileOutputStream fos = new FileOutputStream(file,true);//加了true就是追加数据(无论是write或者appedn都是追加数据)
		// FileOutputStream fos = new FileOutputStream(file); // 默认就是清空数据,然后写入(无论调用write或者append都是一样)
		try (FileOutputStream fos = new FileOutputStream(file,true);
				OutputStreamWriter writer = new OutputStreamWriter(fos)) {
			writeTxtFile(writer);
			System.out.println("写入数据成功!");
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	
		System.out.println("更新后的文本信息为:");
		// 显示追加后的文本信息
		try (FileInputStream fis = new FileInputStream(file);
				InputStreamReader reader = new InputStreamReader(fis)) {
			readTxtFile(reader);
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

	}
}



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/332323.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号