ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

018.字节流(21)13/5/2022

2022-05-13 08:01:21  阅读:192  来源: 互联网

标签:13 java 2022 fos FileOutputStream io FileInputStream 018 import


1.FileinputStream的使用

package com.qx.lll;

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

public class StudyInputStream
{
    public static void main(String[] args) throws IOException
    {
        FileInputStream fis = new FileInputStream("aaa.txt");
        int b;
        while ((b = fis.read())!= -1)
        {
            System.out.println((char) b);
        }
        fis.close();
    }
}

2.FileoutStream的使用

package com.qx.lll;

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

public class StudyOutStream
{
    public static void main(String[] args) throws IOException
    {
        FileOutputStream fos = new FileOutputStream("bbb.txt");
        fos.write(97);
        fos.write(98);
        fos.write(99);
        fos.write(78);
        fos.close();

    }
}

3.拷贝文件效率最低的方法

package com.qx.lll;

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

public class Picture
{
    public static void main(String[] args) throws IOException
    {
        FileInputStream fis = new FileInputStream("123.jpg");
        FileOutputStream fos = new FileOutputStream("321.jpg");
        int receive;
        while ((receive = fis.read())!= -1)
        {
            fos.write(receive);
        }
        fis.close();
        fos.close();

    }
}

(1)针对上面在改进

(由于java虚拟机分配内存的问题,这种方法不推荐)

package com.qx.lll;

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

public class Media
{
    public static void main(String[] args) throws IOException
    {
        FileInputStream fis = new FileInputStream("1234.mp3");
        FileOutputStream fos = new FileOutputStream("4321.mp3");
        byte[] bytes = new byte[fis.available()];//可以获取与文件关联的字节数
        fis.read(bytes);
        fos.write(bytes);
        fis.close();
        fos.close();
    }
}

(2)在改进

package com.qx.lll;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class MediaTwo
{
    public static void main(String[] args) throws IOException
    {
        FileInputStream in = new FileInputStream("789.mp3");
        FileOutputStream out = new FileOutputStream("987.mp3");
        int len;
        byte[] bytes = new byte[1024 * 8];
        while ((len = in.read(bytes))!= -1)
        {
            System.out.println(len);//打印每次读取多少个字节
            out.write(bytes,0,len);//write 中参数的意思:将指定字节数组中从偏移量off开始的len个字节写入此文件输出流
        }
        in.close();
        out.close();
    }
}

 

标签:13,java,2022,fos,FileOutputStream,io,FileInputStream,018,import
来源: https://www.cnblogs.com/LLL0617/p/16265272.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有