IO自学之字节流及其追加

3 篇文章 0 订阅

1.基本概念
IO流

一、概念.
流流动,流向,从一端移动到另一端源头与目的地
程序与文件[数组]网络连接数据库,以程序的中心
二.IO流分类
1:流向:输入流与弟输出流
2.数据:字节流:二进制 可以用于一切文件
三、宁符流与字节流(重出)
在这里插入图片描述

文件读取 1.建立联系 File对象
2.选择流 文件输入流 InputStream FileInputStream
3.操作:byte[] car =new byte[1024];+read+读取大小 输出
4.释放资源:关闭
以下是输入流代码

package io;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;

/**
 * 
 * 
 */

public class Byteio {

	public static void main(String[] args) {

//		 1.建立联系  File对象
		File src = new File("E:/xp/test/1.txt");
//		2.选择流
		InputStream is = null;
		try {

			is = new FileInputStream(src);

			// 3.操作不断读取 缓冲数组
			byte[] loj = new byte[10];
			int len = 0;// 接受实际读取大小
			// 循环读取
			try {
				while (-1 != (len = is.read(loj))) {
					// 输出 字节数组转换成字符串
					String info = new String(loj, 0, len);
					System.out.println(info);
				}
			} catch (FileNotFoundException e) {
				e.printStackTrace();
				System.out.println("文件不存在");
			}
		} catch (IOException e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
			System.out.println("读取文件失败");
		} finally {
//				4.释放资源
			if (null != is) {
				try {
					is.close();
				} catch (IOException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
					System.out.println("关闭输入流");
				}
			}
		}

	}

}

上面的代码会在记事本上乱码但这个问题在以后的博客里会解决😊
要注意自己文件的路径呦
以下是输出流相关代码

package io;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;

/**
 * 写出文件 1.建立联系 File对象 目的地 2.选择流 文件输入流 OutputStream FileOutputStream
 * 3.操作:write()+flush 4.释放资源:关闭
 * 
 */
public class Ioout {

	public static void main(String[] args) {

//      1.建立联系 File对象  目的地
		File wzm = new File("E:/xp/test/test.txt");
//		2.选择流 文件输入流 OutputStream FileOutputStream 
		OutputStream os = null;
		// 以追加的形式为true 覆盖的形式为false
		try {
			os = new FileOutputStream(wzm, true);
//			3.操作
			String str = "I am cute\n";
			// 字符串赚字节数组
			byte[] date = str.getBytes();

			os.write(date, 0, date.length);
			os.flush();// 强制刷新出去
		} catch (FileNotFoundException e) {
			e.printStackTrace();
			System.out.println("文件未找到");
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			System.out.println("文件写出失败");
		} finally {
			try {
				if (null != os) {
					os.close();
				}
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}

	}

}

如果本博客对你有帮助,不要忘记留下你的足迹点个赞💖😃
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值