栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

金三银四前,一个资深Java程序员从码农到技术咖的进阶之路Java IO流

金三银四前,一个资深Java程序员从码农到技术咖的进阶之路Java IO流

今天系统的学习了 Java IO 这部分的知识,把一些之前没有用过的,或者忘记的方法和类重新学了一下。怕自己睡一觉把今天学的忘完了QaQ。所以,不得已写一下博客

IO概述

package com.coder.com;

import java.io.*;
import java.nio.charset.StandardCharsets;

public class Demo01 {
    
    public static void main(String[] args) throws IOException {
        //字节流
        OutputStream os = new FileOutputStream("E:\a.txt", true);
        os.write(65);
        byte[] bytes = {66, 67, 68};
        os.write(bytes, 1, 2);
        os.write("你好,世界".getBytes(StandardCharsets.UTF_8));
        os.close();
        InputStream is = new FileInputStream("E:\a.txt");
        bytes = new byte[1024];
        int len = is.read(bytes);
        System.out.println("new String(bytes, 0, len) = " + new String(bytes, 0, len));
        is.close();
    }
}

字节输出流

方法:

void write(int b)
void write(byte b[])
void write(byte b[], int off, int len)
FileOutputStream
void flush()
void close()

常用子类:

FileOutputStream(File file, boolean append)
BufferedOutputStream(OutputStream out)
ObjectOutputStream(OutputStream out)
PrintStream(boolean autoFlush, OutputStream out)

字符流

package com.coder.com;

import java.io.*;

public class Demo02 {
    public static void main(String[] args) throws IOException {
        Writer writer = new FileWriter("E:\b.txt");
        writer.write("你好,世界,");
        writer.append("你好,Java").append("你好,Golang");
        writer.close();
        Reader reader = new FileReader("E:\b.txt");
        char[] chars = new char[1024];
        int len = reader.read(chars);
        String s = new String(chars, 0, len);
        System.out.println("content = " + s);
        reader.close();
    }
}

转换流

package com.coder.com;

import java.io.*;

public class Demo03 {
    
    public static void main(String[] args) throws IOException {
        FileInputStream fis = new FileInputStream("E:\a.txt");
        //param1 要转换的字节流
        //param2 指定编码名称
        InputStreamReader isr = new InputStreamReader(fis, "UTF-8");
        char[] buffs = new char[1024];
        int len = isr.read(buffs);
        for (int i = 0; i < len; i++) {
            System.out.print(buffs[i]);
        }
        isr.close();
        fis.close();
    }
}
打印流

package com.coder.com;

import java.io.IOException;
import java.io.PrintStream;
import java.io.PrintWriter;
public class Demo04 {
    
    public static void main(String[] args) throws IOException {
        PrintStream ps = new PrintStream("E:\c.txt");
        ps.println("你好,世界");
        ps.println("你好,Java");
        ps.println("你好, Golang");
        ps.close();
        PrintWriter pw = new PrintWriter("E:\c.txt");
        pw.println("你好Vue");
        pw.println("你好SpringBoot");
        pw.close();
    }
}

Properties

package com.coder.com;

import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Properties;

public class Demo05 {
    public static void main(String[] args) throws IOException {
//        Properties properties = new Properties();
//        properties.setProperty("name", "王令");
//        properties.setProperty("age", "20");
//        properties.setProperty("gender", "男");
//        properties.store(new FileWriter("E:\d.properties"), "个人信息");
        Properties properties = new Properties();
        properties.load(new FileReader("E:\d.properties"));
        System.out.println("name = " + properties.getProperty("name"));
        System.out.println("age = " + properties.getProperty("age"));
        System.out.println("gender = " + properties.getProperty("gender"));
    }
}

序列化 反 序列化

package com.coder.com;

import java.io.*;
import java.util.ArrayList;
import java.util.List;

public class Demo06 {
    
    public static void main(String[] args) throws IOException, ClassNotFoundException {
//        Person wl = new Person("王令", 21, "男");
//        ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("E:\person"));
//        oos.writeObject(wl);
//        oos.close();
//        ObjectInputStream ois = new ObjectInputStream(new FileInputStream("E:\person"));
//        Person wl = (Person) ois.readObject();
//        System.out.println("wl = " + wl);
//        ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("E:\list_person"));
//        List people = new ArrayList<>();
//        people.add(new Person("张三", 20, "男"));
//        people.add(new Person("李四", 21, "女"));
//        people.add(new Person("王五", 22, "男"));
//        oos.writeObject(people);
//        oos.close();
        ObjectInputStream ois = new ObjectInputStream(new FileInputStream("E:\list_person"));
        List people = (List) ois.readObject();
        for (Person person : people) {
            System.out.println(person);
        }
    }
}

class Person implements Serializable {
    private String name;
    private Integer age;
    private String gender;

    public Person() {
    }

    public Person(String name, Integer age, String gender) {
        this.name = name;
        this.age = age;
        this.gender = gender;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    public String getGender() {
        return gender;
    }

    public void setGender(String gender) {
        this.gender = gender;
    }

    @Override
    public String toString() {
        return "Person{" +
                "name=‘" + name + ‘‘‘ +
                ", age=" + age +
                ", gender=‘" + gender + ‘‘‘ +
                ‘}‘;
    }
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/762184.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号