字节流

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("文件操作时发生异常");
        }
    }
}
原文地址:https://www.cnblogs.com/1234yyf/p/11595082.html