zoukankan      html  css  js  c++  java
  • java IO文件读写例子(OutputStream,InputStream,Writer,Reader)

    一,File创建文件

    File file = new File("D:" + File.separator + "yi.txt"); 

        代码示例:

        

    package com.hbut.io;
    
    import java.io.File;
    import java.io.IOException;
    
    public class FileDemo {   
       
        public static void main(String[] args) {   
            File file = new File("D:" + File.separator + "yi.txt");   
            if (file.exists()) {   
                file.delete();  
                System.out.println("文件已存在");
            } else {   
                try {  
                    boolean states=false;
                    states = file.createNewFile(); 
                    if(states==true)
                    {
                        System.out.println("文件创建成功");
                    }
                } catch (IOException e) {   
                    // TODO Auto-generated catch block   
                    e.printStackTrace();   
                }   
            }   
        }   
    }  
    View Code

    二,OutputStream(字节流)写入文件

    out= new FileOutputStream(file);//获取实际的字节流输出对象,内容覆盖

    String info="hello";//要输入的内容 

    byte[] b=info.getBytes();//将字符转化为字节数组

    out.write(b);

         代码示例

    package com.hbut.io;
    
    import java.io.File;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.OutputStream;
    
    public class OutputDemo {   
        public static void main(String[] args) {   
            File file = new File("D:" + File.separator + "yi.txt");//指定要写入的文件   
            OutputStream out=null;//定义字节流输出对象   
            try {      
                out= new FileOutputStream(file);//获取实际的字节流输出对象,内容覆盖   
            } catch (FileNotFoundException e) {   
                e.printStackTrace();   
            }   
            String  info="hello";//要输入的内容   
            byte[] b=info.getBytes();//将字符转化为字节数组   
            try {   
                out.write(b);   
            } catch (IOException e) {   
                e.printStackTrace();   
            }   
            try {   
                out.close();   
            } catch (IOException e) {   
                e.printStackTrace();   
            }   
        }   
    }  
    View Code

    三,InputStream(字节流)读出文件

    InputStream In = null;// 定义字节流输入对象

    In = new FileInputStream(file);// 获取实际的字节流输入对象

    byte[] b = new byte[1024];// 开辟空间,读取内容

    len = In.read(b);// 读取

    System.out.println(new String(b, 0, len));//输出读取的内容

        代码示例

    package com.hbut.io;
    
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.IOException;
    import java.io.InputStream;
    
    public class InputStreamDemo {
        public static void main(String[] args) {
            File file = new File("D:" + File.separator + "yi.txt");// 指定要读取的文件
            InputStream In = null;// 定义字节流输入对象
            try {
                // out= new FileOutputStream(file,true);//是否字节追加函数
                In = new FileInputStream(file);// 获取实际的字节流输入对象
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            }
            int len = 0;// 输入数组长度
            byte[] b = new byte[1024];// 开辟空间,读取内容
            // byte[] b=new byte[(int)file.length()];//根据文件大小开辟空间
            try {
                len = In.read(b);// 读取
            } catch (IOException e1) {
                e1.printStackTrace();
            }
            try {
                In.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
            System.out.println(new String(b, 0, len));
        }
    }
    View Code

    四,Writer(字符流)写入文件

    Writer write = null;// 定义字符输出流

    write = new FileWriter(file);

    String infor = "hello,WriterDemo";//即将写入文件的信息

    write.write(infor);//写入文件

         代码示例

    package com.hbut.io;
    
    import java.io.File;
    import java.io.FileWriter;
    import java.io.IOException;
    import java.io.Writer;
    
    public class WriterDemo {
        public static void main(String[] args) {
            File file = new File("D:" + File.separator + "WriterDemo.txt");// 指定要写入的文件
            Writer write = null;// 定义字符输出流
            try {
                write = new FileWriter(file);
            } catch (IOException e) {
                e.printStackTrace();
            }
            String infor = "hello,WriterDemo";
            try {
                write.write(infor);
            } catch (IOException e) {
                e.printStackTrace();
            }
            try {
                write.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
    View Code

    五,Reader(字符流)读出文件内容

    Reader read = null;// 定义字符输入流   

    read = new FileReader(file); 

    char[] b=new char[1024];//设置字符的长度 

    int len=read.read(b);//文件内容读入到 b[] 

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

        代码示例

    package com.hbut.io;
    
    import java.io.File;
    import java.io.FileReader;
    import java.io.IOException;
    import java.io.Reader;
    
    public class ReaderDemo {   
        public static void main(String[] args) {   
            File file = new File("D:" + File.separator + "yi.txt");// 指定要读出的文件   
            Reader read = null;// 定义字符输入流   
            try {   
                read = new FileReader(file);   
            } catch (IOException e) {   
                e.printStackTrace();   
            }   
            char[] b=new char[1024];//设置字符的长度   
            try {   
                int len=read.read(b);   
                System.out.println(new String(b));
            } catch (IOException e) {   
                e.printStackTrace();   
            }   
            try {   
                read.close();   
            } catch (IOException e) {   
                e.printStackTrace();   
            }   
        }   
    }  
    View Code
  • 相关阅读:
    DDL讲解
    hadoop-04
    hadoop03
    记录一次hadoop自己 埋的坑
    flask_apscheduler一款定时任务器
    flask通过内存导出excel
    Matplotlib不能显示中文问题
    hadoop02
    hadoop常见shell命令
    hadoop1
  • 原文地址:https://www.cnblogs.com/weiyikang/p/5608295.html
Copyright © 2011-2022 走看看