博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
字节流的示例代码
阅读量:4691 次
发布时间:2019-06-09

本文共 3104 字,大约阅读时间需要 10 分钟。

 


read()一次读取一个字节

  •  
    FileInputStream fis = new FileInputStream("aaa.txt");   //创建一个文件输入流对象,并关联aaa.txtint b;                                                  //定义变量,记录每次读到的字节while((b = fis.read()) != -1) {                         //将每次读到的字节赋值给b并判断是否是-1    System.out.println(b);                              //打印每一个字节}fis.close();                                            //关闭流释放资源
     

 


write()一次写出一个字节

  •  
    FileOutputStream fos = new FileOutputStream("bbb.txt"); //如果没有bbb.txt,会创建出一个//fos.write(97);                        //虽然写出的是一个int数,但是在写出的时候会将前面的24个0去掉,所以写出的一个bytefos.write(98);fos.write(99);fos.close();
     

 


FileOutputStream的构造方法写出数据如何实现数据的追加写入

  •  
    FileOutputStream fos = new FileOutputStream("bbb.txt",true);    //如果没有bbb.txt,会创建出一个//fos.write(97);                        //虽然写出的是一个int数,但是在写出的时候会将前面的24个0去掉,所以写出的一个bytefos.write(98);fos.write(99);fos.close();
     

拷贝图片

  • FileInputStream读取
  • FileOutputStream写出

     
    Scanner sc = new Scanner(System.in);FileOutputStream fos = new FileOutputStream("text.txt");System.out.println("请输入:");while(true) {    String line = sc.nextLine();    if("quit".equals(line))        break;    fos.write(line.getBytes());    fos.write("\r\n".getBytes());}fos.close();
     

字节数组拷贝之available()方法

 
FileInputStream fis = new FileInputStream("致青春.mp3");FileOutputStream fos = new FileOutputStream("copy.mp3");byte[] arr = new byte[fis.available()];                 //根据文件大小做一个字节数组fis.read(arr);                                          //将文件上的所有字节读取到数组中fos.write(arr);                                         //将数组中的所有字节一次写到了文件上fis.close();fos.close();
 
 

定义小数组的标准格式

 
FileInputStream fis = new FileInputStream("致青春.mp3");           //创建文件输入流对象,关联致青春.mp3BufferedInputStream bis = new BufferedInputStream(fis);         //创建缓冲区对fis装饰FileOutputStream fos = new FileOutputStream("copy.mp3");        //创建输出流对象,关联copy.mp3BufferedOutputStream bos = new BufferedOutputStream(fos);       //创建缓冲区对fos装饰int b;while((b = bis.read()) != -1) {         bos.write(b);}bis.close();                        //只关装饰后的对象即可bos.close();
 

给图片加密

 
BufferedInputStream bis = new BufferedInputStream(new FileInputStream("a.jpg"));BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("b.jpg"));int b;while((b = bis.read()) != -1) {    bos.write(b ^ 123);}bis.close();bos.close();
 

在控制台录入文件的路径,将文件拷贝到当前项目下

 
Scanner sc = new Scanner(System.in);System.out.println("请输入一个文件路径");String line = sc.nextLine();                //将键盘录入的文件路径存储在line中File file = new File(line);                 //封装成File对象FileInputStream fis = new FileInputStream(file);FileOutputStream fos = new FileOutputStream(file.getName());int len;byte[] arr = new byte[8192];                //定义缓冲区while((len = fis.read(arr)) != -1) {    fos.write(arr,0,len);}fis.close();fos.close();
 

 

 

将键盘录入的数据拷贝到当前项目下的text.txt文件中,键盘录入数据当遇到quit时就退出

 
Scanner sc = new Scanner(System.in);FileOutputStream fos = new FileOutputStream("text.txt");System.out.println("请输入:");while(true) {    String line = sc.nextLine();    if("quit".equals(line))        break;    fos.write(line.getBytes());    fos.write("\r\n".getBytes());}fos.close();
 

 

 

转载于:https://www.cnblogs.com/loaderman/p/6407649.html

你可能感兴趣的文章
typedef 数组使用详解
查看>>
full gc
查看>>
Cocos2d-x动画播放(序列帧)
查看>>
ABAP术语-V1 Module
查看>>
javaweb学习总结(二十三)——jsp自定义标签开发入门
查看>>
事件冒泡、事件捕获、事件委托
查看>>
【Android】proguard混淆代码
查看>>
KEYCODE_DPAD_CENTER 和 KEYCODE_ENTER
查看>>
python学习笔记(一)
查看>>
#1062 – Duplicate entry ‘1’ for key ‘PRIMARY’
查看>>
Filter In Baan!
查看>>
利用CSS3的transform做的动态时钟
查看>>
Unity调用iOS原生内购
查看>>
Spoken Language Four
查看>>
ASP.NET: Setup a MVC5 website with MySQL, Entity Framework 6 Code-First and VS2013
查看>>
Dojo 1.7正式发布
查看>>
C++请不要问我string s=”a”+”b”分配了几次内存
查看>>
java面试题
查看>>
vim中 E212:无法打开并写入文件的解决办法
查看>>
win10虚拟机搭建Hadoop集群(已完结)
查看>>