字节流读数据学习记录(追加写入、换行)

这篇博客详细介绍了Java中使用FileInputStream进行字节流读取文件的操作,包括一次读一个字节和一个字节组,并展示了如何实现文件的追加写入和换行。示例代码演示了读取文件和追加写入文件的常见方法,对于理解Java I/O流的使用非常有帮助。
摘要由CSDN通过智能技术生成

一次读一个数据

package io;

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

public class FileInputStreamdemo1 {
	public static void main(String[] args) throws IOException {
		//创建字节输入流对象  FileInputStream(String name)
		FileInputStream fis=new FileInputStream("C:\\DW\\fos.txt");   
		//调用字节输入流对象的读取数据方法
		//int read():从该输入流读取一个字节的数据
		//第一次读取数据
//		int b =fis.read();
//		System.out.print(b);
//		System.out.print((char)b);
//		//第二次读取数据       如果读取达到文件末尾返回-1
//		 b =fis.read();
//		System.out.print(b);
//		System.out.print((char)b);
		//多次读取
//		int b=fis.read();
//		while(b!=-1) {     
//			System.out.print((char)b);
//			b=fis.read();
//		}
		//多次读取改进
		int b;
		while(( b=fis.read())!=-1) {     
			System.out.print((char)b);
		}
		//释放资源
		fis.close();
	}
}

一次读一个字节组数据

package io;

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

public class Fileinputdemo2 {
	public static void main(String[] args) throws IOException {
		//创建字节流输入流对象
		 FileInputStream fis =new FileInputStream("C:\\DW\\fis.txt");
		//调用字节输入流对象的读数据方法    int read(byte[] b):从该输入流读取最多b.length个字节的数据到一个字节数组
		 /*   \r\n 换行符也读取
		 //第一次读取
		 byte[] bys =new byte[10];
		 int len=fis.read(bys);
		  System.out.println(len);		 
		  System.out.println(new String(bys));	
		 //第二次读取
		  len=fis.read(bys);
		  System.out.println(len);		 
		  System.out.println(new String(bys));  //已经将所有数据读完
		 //第三次读取
		  len=fis.read(bys);
		  System.out.println(len);	    //已读取到末尾 输出-1	 
		  System.out.print(new String(bys));   //输出与第二次一样的结果
		  */
		 //字节流读数据 (一次读一个字节组数据)
		 byte[] bys =new byte[1024];  //1024及其整数倍
		 int len;
		 while((len=fis.read(bys))!=-1) {
			 System.out.print(new String(bys,0,len)); 
		 }
		//释放资源
		 fis.close();
		 
	}
}

关于追加写入和换行

package io;

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

/*
 * 字节流写数据如何实现换行呢?
        写完数据后,加换行符
   windows:\r\n  
   linux:\n    
   mac:\r

       字节流写数据如何实现追加写入呢?
   public FileOutputStream(String name,boolean append)
        创建文件输出流以指定的名称写入文件。
         如果第二个参数为true,则字节将写入文件的末尾而不是开头
 */
public class Demo {
	public static void main(String[] args) throws IOException {
		FileOutputStream fos=new FileOutputStream("C:\\DW\\fos.txt", true);   //追加写入
		for(int i=0;i<10;i++) {
			fos.write("hello,java".getBytes());
			fos.write("\r\n".getBytes());   //windows:\r\n  换行
		}
		fos.close();	
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值