zoukankan      html  css  js  c++  java
  • 字节流、字符流

    字节流、字符流

    1、字节流

    输入流 IntputStream(通过子类实例化)

    把文件的内容读取出来,并显示在console在。

     

    package com.erquan.stream;

     

    import java.io.File;

    import java.io.FileInputStream;

    import java.io.IOException;

     

    public class InputStream {

     

     

    public static void main(String[] args) throws IOException {

    File file new File("c:" File.separator "file.txt");

    FileInputStream in new FileInputStream(file);

    //静态分配数组

    // byte buffer[] new byte[1024];

    // int len in.read(buffer);  //指定文件的内容读取到流中,返回数组的长度

    //动态fen配数组的大小

    byte buffer[] new byte[(intfile.length()];

    for (int 0; buffer.lengthi++) {

    buffer[i] (bytein.read();  //一个个读入

    }

    //new String(buffer)不能去除多余的空格

        //System.out.println(new String(buffer, 0, len));  //转成字符输出

    System.out.println(new String(buffer));

    in.close();  //一定要记得关闭

     

    }

     

     

    输出流 OutputStream(通过子类实例化)

    把程序里要保存的东西写入到指定的文件中

     

    package com.erquan.stream;

     

    import java.io.File;

    import java.io.FileOutputStream;

    import java.io.IOException;

     

    public class OutputStream {

     

     

    public static void main(String[] args) throws IOException {

    File file new File("c:" File.separator "file.txt");

    if (!file.exists()) {

    //System.out.println("文件不存在");

    try {

    file.createNewFile();

    catch (IOException e) {

    e.printStackTrace();

    }

    //新建字节流

    //FileOutputStream out new FileOutputStream(file);

    //在现有的文件尾部追加写入,不会覆盖原有的内容

    FileOutputStream out new FileOutputStream(file, true);  

    String context "hello world!!!!  " //要写入的信息    表示换行

    byte buffer[] context.getBytes();  //内容存入数组

    //这两种方法都会覆盖前一次的内容 FileOutputStream(file, true) 不会

    //out.write(buffer);  //向文件写入数据方法   一次全部写入

    //写入的方式    个个字符写入

    // for (int 0; buffer.length; i++) {

    // out.write(buffer[i]);

    // }

    out.close();  //关闭流

    else {

    System.out.println("文件存在!!");

    }

    }

    }

    2、字符流

    输入流 Writer

    把程序里要保存的东西写入到指定的文件中

     

     

     

    package com.erquan.charstream;

     

    import java.io.File;

    import java.io.FileWriter;

    import java.io.IOException;

     

    public class WriterStream {

     

     

    public static void main(String[] args) {

    //加载文件

    File file new File("c:" File.separator "file.txt");

    //在现有的文件尾部追加写入,不会覆盖原有的内容

    try {

    FileWriter fileWrite new FileWriter(file, true);

    //char buffer[] context.getBytes();  //内容存入数组

    String context "hello world!!!!  " //要写入的信息    表示换行

    fileWrite.write(context);  //向文件写入数据方法 

    System.out.println("写入文件成功!!");

    fileWrite.close();

    catch (IOException e) {

    e.printStackTrace();

     

    }

    }

     

     

    输出流 Reader 

    把文件的内容读取出来,并显示在console在。

     

    package com.erquan.charstream;

     

    import java.io.File;

    import java.io.FileReader;

    import java.io.IOException;

     

    public class ReaderStream {

     

     

    public static void main(String[] args) throws IOException {

    File file new File("c:" File.separator "file.txt");

    FileReader fileReader new FileReader(file);

    char buffer[] new char[1024];

    int len fileReader.read(buffer);

    //转成字符串后输出

    System.out.println(new String(buffer, 0, len));

    }

    }

     


    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    SharePoint 2013 图文开发系列之自定义字段
    SharePoint 2013 图文开发系列之Visual Studio 创建母版页
    SharePoint 2013 图文开发系列之代码定义列表
    SharePoint 2013 图文开发系列之计时器任务
    SharePoint 2013 图文开发系列之应用程序页
    SharePoint 2013 图文开发系列之事件接收器
    SharePoint 2013 图文开发系列之可视化WebPart
    SharePoint 2013 图文开发系列之WebPart
    SharePoint 2013 对二进制大型对象(BLOB)进行爬网
    SharePoint 2013 状态机工作流之日常报销示例
  • 原文地址:https://www.cnblogs.com/ubuntuvim/p/4796571.html
Copyright © 2011-2022 走看看