• 字节流、字符流


    字节流、字符流

    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));

    }

    }

     


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

  • 相关阅读:
    usually study notebook
    (转)轻松掌握shell编程中数组的常见用法及示例
    (转)python学习链接
    (转)Python作业day2购物车
    (转)python 列表与元组的操作简介
    (转)总结Linux的chattr与lsattr命令详解
    mysql特殊语句学习
    PHP位操作符
    html5中script的async属性
    jquery资源
  • 原文地址:https://www.cnblogs.com/ubuntuvim/p/4796571.html
Copyright © 2020-2023  润新知