文件字节流
文件字节流
package com.tiedandan.IO流.文件字节流; /** * FileInputStream 文件字节输入流 *流:存储设备与内存之间传输数据的通道。程序在内存中运行,内存相当于数据处理机。 * */ import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; public class FileInputStream1 { public static void main(String[] args) throws IOException { //创建文件字节输入流,并且指定磁盘上文件输入路径。 FileInputStream fis = new FileInputStream("d:\\zhtt.txt"); //读取文件fis.read(); //fis.read()一次只能读一个字节,而且会有一个返回值,当返回值为-1时,说明文件读入完毕 //可以用循环读出文件中所有字节 方法一: // int data = 0; // while ( (data=fis.read())!=-1){ // System.out.println((char)data);//data存储的时ascii编码。需要转换为字符后输出。 // } // fis.close(); // System.out.println("------执行完毕!------"); //读取字节,方法2 byte[] buf =new byte[3]; int count =0; while ((count=fis.read(buf))!=-1){ System.out.println(new String(buf,0,count)); } fis.close(); System.out.println("------执行完毕!------"); } }
运行结果:
ada
wda
------执行完毕!------
文件输出字节流:
package com.tiedandan.IO流.文件字节流; import java.beans.PropertyVetoException; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.nio.charset.StandardCharsets; /** * 文件输出字节流 */ public class FileOutputStream1 { public static void main(String[] args) throws IOException { FileOutputStream fs1= new FileOutputStream("d:\\bbb.txt",true);//true作用:让每次执行写入时的数据不会覆盖上一次写的数据,而是接着上次的数据写入。 //单个写入 fs1.write('a'); fs1.write(98);//98是b的字节码 fs1.write('c'); //一次性写入 String a ="helloworld"; fs1.write(a.getBytes()); //关闭流 fs1.close(); System.out.println("-----执行完毕!-------"); } }
运行结果:
------执行完毕!------