body, table{font-family: 微软雅黑}
table{border-collapse: collapse; border: solid gray; border-width: 2px 0 2px 0;}
th{border: 1px solid gray; padding: 4px; background-color: #DDD;}
td{border: 1px solid gray; padding: 4px;}
tr:nth-child(2n){background-color: #f8f8f8;}

字节流写数据

█ OutputStream

      ☞FileOutputStream

█ FileOutputStream的构造方法

     ☞FileOutputStream(File file);               //构造对象文件必须存在
     ☞FileOutputStream(String name);       
 
█ 字节流写数据的方式  

     ☞public void write(int b);            
     ☞public void write(byte[] b);         
     ☞public void write(byte[] b,int off,int len);          
public class IOTest {
/*       
应该使用其子类
FileOutputStream(File file)
     创建一个向指定 File 对象表示的文件中写入数据的文件输出流。
FileOutputStream(String filename)
FileOutputStream(File file, boolean append)      //第一个参数String也可以
          创建一个向指定 File 对象表示的文件中写入数据的文件输出流。和上面不一样,不会清空原有内容,只会在后面追加
------------------------------------------------------
void write(byte[] b)
     将 b.length 个字节从指定的 byte 数组写入此输出流。
void write(byte[] b, int off, int len)
     将指定 byte 数组中从偏移量 off 开始的 len 个字节写入此输出流。
abstract  void write(int b)         //一次写入一个字节。把高位的三个字节去掉,只写入最后字节
// 0x ff 89 12 33  这个write只写入33
     将指定的字节写入此输出流。
*/
   public static void main(String[] args)  {
                String word = "hello world";   //内存数据写到文件系统,输出流(字符流和字节流都可以)
                File file = new File("1.txt");
                FileOutputStream fos = null;
                try{
                //fos = new FileOutputStream(file);
                //fos = new FileOutputStream("1.txt");
                fos = new FileOutputStream("1.txt",true);   //对于写文件操作,如果文件不存在,输出流会帮你createNewFile

                fos.write(100);  //写一个数字,打开文本的时候会默认去查编码表,显示该数据对应的字符(d)。写个字符串的话打开就是字符串本身;
                fos.write("\r\n".getBytes());   //往文件里写换行,"\n"是字符串,参数只能是字节,所有调用方法。
 //windows的换行是"\r\n";高级记事本会识别多种换行,mac 下  "\r"  linux  换行  "\n"
                fos.write('a');            //写进去的是 a ;
                fos.flush();                 //数据写完进管道最好要用这个方法把数据放到文件里
                byte[] bytes = { 97 ,98 ,99 ,100 , 101};
                //fos.write(bytes);                    //往文件里写入a,b,c,d,e;
                //fos.write(bytes, 1, 3);             //往文件里写入b,c,d;
                byte[] bytes2 = word.getBytes();
                for(int i=0 ;i<bytes.length;i++){
                        System.out.println("bytes2: "+bytes2[i]);        //104,101,108,108,111 ;
                }
                }catch(IOException e){
                        e.printStackTrace();
                }finally{
                        if(fos!=null){
                                try {
                                        fos.close();     //这里开头不设置初始值会出错,显示未初始化;因为try里面的初始化操作可能会出现异常,一旦异常发生没有初始化成功,这里的fos就是未初始化的了。
                                } catch (IOException e) {
                                        e.printStackTrace();
                                }
                        }
                }
        }
}

Java——IO类,字节流写数据的更多相关文章

  1. Java——IO类 字节流概述

    body, table{font-family: 微软雅黑} table{border-collapse: collapse; border: solid gray; border-width: 2p ...

  2. Java IO: 其他字节流(上)

    作者: Jakob Jenkov 译者: 李璟(jlee381344197@gmail.com) 本小节会简要概括Java IO中的PushbackInputStream,SequenceInputS ...

  3. Java IO 类一览表

    下表列出了大多数(非全部)按输/输出,基于字节或字符划分的 Java IO 类.

  4. Java——IO类,字节流读数据

    body, table{font-family: 微软雅黑} table{border-collapse: collapse; border: solid gray; border-width: 2p ...

  5. Java——IO类,字符流写数据

    body, table{font-family: 微软雅黑} table{border-collapse: collapse; border: solid gray; border-width: 2p ...

  6. Java——IO类,字节流缓冲区

    body, table{font-family: 微软雅黑} table{border-collapse: collapse; border: solid gray; border-width: 2p ...

  7. [Java IO]02_字节流

    概要 字节流有两个核心抽象类:InputStream 和 OutputStream.所有的字节流类都继承自这两个抽象类. InputStream 负责输入,OutputStream 负责输出. 字节流 ...

  8. Java IO之字节流

    Java中的输入是指从数据源等读到Java程序中,这里的数据源可以是文件,内存或网络连接,输出则是指从Java程序中写到目的地. 输入输出流可以分为以下几种类型(暂时不考虑File类) 类名 中文名 ...

  9. Java IO流-字节流

    2017-11-05 17:48:17 Java中的IO流按数据类型分类分为两种,一是字节流,二是字符流.字符流的出现是为了简化文本数据的读入和写出操作. 如果操作的文件是文本文件,那么使用字符流会大 ...

随机推荐

  1. 用GDB调试Segmentation 段错误【转】

    本文转载自:http://blog.csdn.net/learnhard/article/details/4879834 调试Linux程序的时候,出现Segmentation Fault是最郁闷的事 ...

  2. PHP开发者的路书

    初学者 作为初学者,通常情况下,我们都会买一本PHP教材,或者在网上看免费教程,这当然是学习的好途径.因为,这些书籍和网上的免费教程,基本上都是由浅入深的渐进式教学方式,基础知识居多,高级知识占少量的 ...

  3. 风景区的面积及道路状况分析问题 test

    参考文献:   https://wenku.baidu.com/view/b6aed86baf1ffc4ffe47ac92.html #include <bits/stdc++.h> us ...

  4. Nlog、elasticsearch、Kibana以及logstash在项目中的应用(一)

    前言 最近在做文档管理中,需要记录每个管理员以及用户在使用过程中的所有操作记录,本来是通过EF直接将操作数据记录在数据库中,在查询的时候直接从数据库中读取,但是这样太蠢了,于是在网上找到了logsta ...

  5. Ubuntu 14.04 下 安装Protocol Buffers

    参考: Protocol Buffers - Google's data interchange format Ubuntu 14.04 下 安装Protocol Buffers 环境 Ubuntu ...

  6. java编程内容之开始

    java应用程序开发应该掌握的各方面技术 1.初识java,熟悉Eclipse开发工具 2.java语言基础 3.流程控制,数组,字符串,类与对象 4.接口,继承与多态,类的高级特性 5.Java集合 ...

  7. JQUERY链式操作实例分析

    本文实例讲述了jQuery链式操作.分享给大家供大家参考,具体如下: 从过去的实例中,我们知道jQuery语句可以链接在一起,这不仅可以缩短代码长度,而且很多时候可以实现特殊的效果. <scri ...

  8. RabbitMQ入门_07_Fanout 与 Topic

    A. 用广播的方式实现发布订阅 参考资料:https://www.rabbitmq.com/tutorials/tutorial-three-java.html Fanout 类型的 Exchange ...

  9. codeforces 484b//Maximum Value// Codeforces Round #276(Div. 1)

    题意:给一个数组,求其中任取2个元素,大的模小的结果最大值. 一个数x,它的倍数-1(即kx-1),模x的值是最大的,然后kx-2,kx-3模x递减.那么lower_bound(kx)的前一个就是最优 ...

  10. AndroidStudio使用偷懒插件Butterknife和GsonFormat

    1.Android ButterKnife Zelezny Android Studio上安装插件,如图: 配合ButterKnife实现注解,从此不用写findViewById,想着就爽啊.在Act ...