ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

java学习日记 System类对IO的支持

2020-07-02 14:39:32  阅读:154  来源: 互联网

标签:java String System IO println public out


1、System.out

使用OutputStream向屏幕输出。

import java.io.IOException;
import java.io.OutputStream;

public class SystemoutDemo1 {
    public static void main(String[] args) {
        OutputStream out = System.out;    //此时的输出流是向屏幕上输出
        try {
            out.write("hello world!!!".getBytes());
        } catch (IOException e) {
            e.printStackTrace();
        }
        try {
            out.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

OutputStream的哪个子类为其实例化,就具备了向哪里输出的能力。如果使用了FileOutputStream则表示向文件输出,如果使用了System.out则表示向显示器输出,这里完全显示出了Java的多态性的好处,根据子类的不同完成的功能也不同。

2、System.err

System.err表示的是错误信息输出,如果程序出现错误,则可以直接使用System.err进行输出。

public class SystemerrDemo1 {
    public static void main(String[] args) {
        String str = "hello";
        try {
            System.out.println(Integer.parseInt(str));
        }catch (Exception e){
            System.err.println(e);
        }
    }
}

3、System.in

import java.io.InputStream;

public class SysteminDemo {
    public static void main(String[] args) throws Exception {
        InputStream input = System.in;
        StringBuffer buf = new StringBuffer();
        System.out.println("请输入内容:");
        int temp =0 ;
        while ((temp=input.read())!=-1){
            char c = (char) temp;
            if (c=='\n'){
                break;
            }
            buf.append(c);
        }
        System.out.println("输入的内容为:"+buf);
        input.close();
    }
}

如果输入中文会出现乱码。

4、BufferedReader类

键盘输入的标准格式:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class BufferReaderDemo1 {
    public static void main(String[] args) {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String str = null;
        System.out.println("请输入内容:");
        try {
            str=br.readLine();
        } catch (IOException e) {
            e.printStackTrace();
        }
        System.out.println("输入的内容为:"+str);
    }
}

可以解决乱码问题。

5、Scanner类

import java.util.Scanner;

public class ScannerDemo1 {
    public static void main(String[] args) {
        boolean flag = true;
        System.out.println("请输入生日:");
        while (flag){
            Scanner scanner = new Scanner(System.in);//从键盘输入数据
            if (scanner.hasNext("\\d{4}-\\d{2}-\\d{2}")){
                String bir = scanner.next("\\d{4}-\\d{2}-\\d{2}");
                System.out.println("输入内容:"+bir);
                flag=false;
            }else {
                System.out.println("输入格式错误");
            }
        }
    }
}

scanner.userDelimiter  修改输入数据的分隔符

 

 Scanner 输出文档的内容:

public class ScannerDemo2 {
    public static void main(String[] args) {
        File file = new File("d:"+File.separator+"demo"+File.separator+"test.txt");
        Scanner scanner = null;
        try {
            scanner = new Scanner(file);
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
        StringBuffer sbf = new StringBuffer();
        while (scanner.hasNext()){
            sbf.append(scanner.next()).append("\n");
        }
        System.out.println(sbf);
    }
}

6、对象序列化

java中共有两个标识接口:克隆(Cloneable)和对象序列化(Serializable)。

 

标签:java,String,System,IO,println,public,out
来源: https://www.cnblogs.com/cathycheng/p/13224507.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有