FileInputStream文件输入字节流
实例的read()方法按顺序读取文件中的字节,返回int型;
package zy03; import java.io.*; public class text02 { public static void main(String[] args) throws IOException { File file=new File("D:\\大二java\\飘.txt");//写文件位置 try { //打开文件 FileInputStream fis=new FileInputStream(file); int i;//读取的字节保存到变量i中,如果i为-1就是读取到了结尾退出循环 while((i=fis.read())!=-1) { //读出的是ASCII码,转换为char输出 System.out.println((char)i); } fis.close();//关闭文件 } /*catch(异常类A e) { 如果出现了异常类A类型的异常,那么执行该代码 } */ catch(FileNotFoundException e) { System.out.println("文件未找到"); } catch(IOException e) { System.out.println("文件操作时发生异常"); } } }
OutputStream输出流
write(int b)将一个字节写到输出流;
write(byte[] b)将整个字节数组写到输出流中;
flash()彻底输出清空缓冲区;
close()关闭缓冲区;
package zy03; import java.io.*; public class text02 { public static void main(String[] args) throws IOException { File file=new File("D://大二java//1.txt");//写文件的位置 try { FileOutputStream fos=new FileOutputStream(file); //将这些内容输入到文本文档中,显示的是char(65)char(66)char(67)ABC fos.write(65); fos.write(66); fos.write(67);
String str="sfdgdgw我爱";
fos.write(str.getBytes()); //将字符串转化成字符数组 fos.flush();//强制将缓存内容输出 fos.close(); } catch(IOException e) { System.out.println("文件操作发生异常"); } } }
BufferedFileInputStream缓存输入流 能够读取多个字节
两个构造方法
public BufferedFileInputStream(InputStream in)
public BufferedFileInputStream(InputStream in,int size)
使用BufferedFileInputStream对FileInputStream的对象进行包装
源文件(scoreFile)一般指用汇编语言或高级语言写出来的代码保存为文件后的结果
目标文件(targetFile)是指源文件经过编译程序产生的能被cpu直接识别二进制文件。
package zy03; import java.io.*; public class text02 { public static void main(String[] args) throws IOException { File sourceFile=new File("");//写源文件的位置 File targetFile=new File("");//目标文件的位置 try { if(!sourceFile.exists()) { System.out.println("源文件不存在"); return; } if(targetFile.exists()) { System.out.println("目标文件已经存在"); return; } BufferedInputStream bis=new BufferedInputStream(new FileInputStream(sourceFile)); BufferedOutputStream bos=new BufferedOutputStream(new FileOutputStream(targetFile)); int i; while((i=bis.read())!=-1) { bos.write(i); } bis.close(); bos.close(); System.out.println("文件复制完成"); } catch(IOException e) { System.out.println("文件操作时发生异常"); } } }