字节流的示例代码



read()一次读取一个字节

  • FileInputStream fis = new FileInputStream("aaa.txt");   //创建一个文件输入流对象,并关联aaa.txt
    int 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去掉,所以写出的一个byte
    fos.write(98);
    fos.write(99);
    fos.close();
    


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

  • FileOutputStream fos = new FileOutputStream("bbb.txt",true);    //如果没有bbb.txt,会创建出一个
    //fos.write(97);                        //虽然写出的是一个int数,但是在写出的时候会将前面的24个0去掉,所以写出的一个byte
    fos.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");           //创建文件输入流对象,关联致青春.mp3
BufferedInputStream bis = new BufferedInputStream(fis);         //创建缓冲区对fis装饰
FileOutputStream fos = new FileOutputStream("copy.mp3");        //创建输出流对象,关联copy.mp3
BufferedOutputStream 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();
 
时间: 2024-11-09 02:21:20

字节流的示例代码的相关文章

java第15章示例代码

import java.util.Scanner; /** * * @author asus第15章示例代码1 全桂群2017.4.9 * */public class Registter { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Scanner input = new Scanner(System.in); String uname, pw

左右JAVA示例代码事件分发和监督机制来实现-绝对原创有用

文章标题:左右JAVA示例代码事件分发和监督机制来实现 文章地址: http://blog.csdn.net/5iasp/article/details/37054171 作者: javaboy2012Email:[email protected]qq:    1046011462 一.场景如果 如果有博客系统中须要实现例如以下功能: 系统中用户公布文章.改动文章.删除文章时,须要一些相关的操作须要运行. 公布文章后,给好友发送邮件通知.给用户加积分,对文章做全文索引. 改动文章后,给好友发送邮

java 线程、线程池基本应用示例代码回顾

package org.rui.thread; /** * 定义任务 * * @author lenovo * */ public class LiftOff implements Runnable { protected int countDown=10; private static int taskCount=0; private final int id=taskCount++; public LiftOff(){} public LiftOff(int countDown) { thi

AppCan移动应用开发平台新增9个超实用插件(内含示例代码)

使用AppCan平台进行移动开发,你所需要具备的是Html5+CSS +JS前端语言基础,此外,Hybrid混合模式应用还需结合原生语言对功能模块进行封装,对于没有原生基础的开发者,如何实现App里包括支付.界面布局.地图导航.IM等功能呢? 这里列出9个AppCan新插件,在使用AppCan平台进行移动开发时非常实用. 1. uexInAppPurchase iOS内部支付IAP插件:封装内部支付IAP相关操作. 方法说明: getProductList 得到产品列表方法 purchase 购

rocketMQ的运行示例代码

rocketMQ的示例代码 1 import com.alibaba.rocketmq.client.exception.MQBrokerException; 2 import com.alibaba.rocketmq.client.exception.MQClientException; 3 import com.alibaba.rocketmq.client.producer.DefaultMQProducer; 4 import com.alibaba.rocketmq.client.pr

pyspider示例代码二:解析JSON数据

本系列文章主要记录和讲解pyspider的示例代码,希望能抛砖引玉.pyspider示例代码官方网站是http://demo.pyspider.org/.上面的示例代码太多,无从下手.因此本人找出一下比较经典的示例进行简单讲解,希望对新手有一些帮助. 示例说明: pyspider爬取的内容通过回调的参数response返回,response有多种解析方式.1.response.json用于解析json数据2.response.doc返回的是PyQuery对象3.response.etree返回的

jQuery中读取json文件示例代码

json文件是一种轻量级的数据交互格式.一般在jquery中使用getJSON()方法读取,具体示例代码如下,感兴趣的朋友可以参考下哈,希望可以帮助到你 json文件是一种轻量级的数据交互格式.一般在jquery中使用getJSON()方法读取. 复制代码 代码如下: $.getJSON(url,[data],[callback]) url:加载的页面地址 data: 可选项,发送到服务器的数据,格式是key/value callback:可选项,加载成功后执行的回调函数 1.首先建一个JSON

大量的文档,大量的示例代码,大量的开源组件,大量的社区,大量的码农

移动用各个平台的原生工具和代码,当年被Delphi忽悠,入了贼船,这次搞移动,坚定了跟着厂家走的策略.每次更新不用傻等Delphi跟进,大量的文档可以参考,大量的示例代码可以直接copy,大量的开源组件可以拿来就用,大量的社区可以做到有问必答. 如果有一天真的做大了,还有大量的iOS/Java码农可以招聘,组队团PK. 总之是选路要选对啊.这两年如果不是EMB出现救市,Delphi差点成了绝唱.想想都后怕.移动开发不敢在冒险了. 参考:http://bbs.2ccc.com/topic.asp?

Supermap iClient 空间查询关联外表表查询多表字段示例代码

原创文章,转载请注明出处!http://blog.csdn.net/songhfu 空间查询关联属性表,并查询空间表和关联表字段示例代码如下: /* * 关联测试成功代码 * */ var joinItem=new SuperMap.REST.JoinItem({ foreignTableName: "V_ENABLEVIEW_LAND", joinFilter: "BBS_PARCEL.CADASTRALNO = V_ENABLEVIEW_LAND.CADASTRALNO