Java:IO流与IO设备

简介:

打印流:PrintWriter和PrintStream

特点:可以直接操作输入流和文件
//例子1:使用PrintStream将格式化的日期打印到文件中
复制代码
import java.io.*;
import java.util.*;
import java.text.*;
class ExceptionInfo
{
    public static void main(String[] args)throws IOException
    {
        try
        {
            int[] arr = new int[2];
            System.out.println(arr[3]);            
        }
        catch(Exception e)
        {
            try
            {
                Date d = new Date();
                SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                String s = sdf.format(d);
                PrintStream ps = new PrintStream("f:\\myfile\\IOException.log");
                ps.println(s);
                System.setOut(ps);
            }
            catch(Exception e1)
            {
                throw new RuntimeException("日志文件创建失败!");
            }
            e.printStackTrace(System.out);
        }
    }
}
复制代码

//例子2:使用printStream将系统信息properties打印到文件中

复制代码
import java.util.*;
import java.io.*;
import java.text.*;
class SystemInfo
{
    public static void main(String[] args)throws IOException
    {
        Date d = new Date();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd  HH:mm:ss");
        String s = sdf.format(d);
        Properties p = System.getProperties();
        PrintStream ps = new PrintStream("f:\\myfile\\SystemInfo.txt");
        System.setOut(ps);
        ps.println(s);
        p.list(ps);
        ps.close();
    }
}
复制代码

//例子3:使用printStream打印流打印数据时对异常的处理

复制代码
import java.io.*;
import java.util.*;
import java.text.*;
class ExceptionInfo
{
    public static void main(String[] args)throws IOException
    {
        try
        {
            int[] arr = new int[2];
            System.out.println(arr[3]);            
        }
        catch(Exception e)
        {
            try
            {
                Date d = new Date();
                SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                String s = sdf.format(d);
                PrintStream ps = new PrintStream("f:\\myfile\\IOException.log");
                ps.println(s);
                System.setOut(ps);
            }
            catch(Exception e1)
            {
                throw new RuntimeException("日志文件创建失败!");
            }
            e.printStackTrace(System.out);
        }
    }
}
复制代码

 

读取键盘录入:System.out、System.in

System.out:对应的是标准输出流设备,控制台(屏幕)

System.in:对应的是标准输入设备,键盘

需求:通过键盘录入数据,当录入一行数据后,将就改行数据进行打印,

如果录入的数据是over,那么停止录入。

//例子4:
复制代码
import java.io.*;
class ReadInDemo 
{
    public static void main(String[] args)throws IOException
    {
        InputStream in = System.in;  //从键盘输入数据
        StringBuilder sb = new StringBuilder();
        int ch = 0;
        while(true)
        {
            ch = in.read();
            if(ch=='\r')
                continue;
            if(ch=='\n')
            {
                String s = sb.toString();
                if("over".equals(s))
                    break;
                System.out.println(s.toUpperCase());
                sb.delete(0,sb.length());
            }
            else
             sb.append((char)ch);        
        }
        in.close();
    }
}
复制代码

 

程序猿神奇的手,每时每刻,这双手都在改变着世界的交互方式!
本文转自当天真遇到现实博客园博客,原文链接:http://www.cnblogs.com/XYQ-208910/p/4918091.html ,如需转载请自行联系原作者
相关文章
|
18天前
|
存储 Java 关系型数据库
实验室设备管理系统【GUI/Swing+MySQL】(Java课设)
实验室设备管理系统【GUI/Swing+MySQL】(Java课设)
17 0
|
1月前
|
存储 Java 数据处理
|
1月前
|
Java API
java中IO与NIO有什么不同
java中IO与NIO有什么不同
|
3月前
|
存储 算法 Java
从零开始学习 Java:简单易懂的入门指南之IO序列化、打印流、压缩流(三十三)
从零开始学习 Java:简单易懂的入门指南之IO序列化、打印流、压缩流(三十三)
|
14天前
|
存储 Java
探索 Java IO 流的多种实现方式
【4月更文挑战第4天】Java IO 流是处理输入输出的关键组件,包括文件流(FileInputStream/FileOutputStream)、字符流(FileReader/FileWriter)、缓冲区流(BufferedInputStream/BufferedOutputStream)、转换流(InputStreamReader/OutputStreamWriter)、数据流(DataInputStream/DataOutputStream)、对象流(ObjectInputStream/ObjectOutputStream)、随机访问文件流(RandomAccessFile)和管道流。
|
25天前
|
传感器 编解码 C语言
【软件设计师备考 专题 】IO设备、通信设备的性能,以及基本工作原理
【软件设计师备考 专题 】IO设备、通信设备的性能,以及基本工作原理
37 1
|
26天前
|
Java 关系型数据库 MySQL
Flink1.18.1和CDC2.4.1 本地没问题 提交任务到服务器 报错java.lang.NoClassDefFoundError: Could not initialize class io.debezium.connector.mysql.MySqlConnectorConfig
【2月更文挑战第33天】Flink1.18.1和CDC2.4.1 本地没问题 提交任务到服务器 报错java.lang.NoClassDefFoundError: Could not initialize class io.debezium.connector.mysql.MySqlConnectorConfig
46 2
|
1月前
|
算法 搜索推荐 Java
利用java编写的项目设备调配系统代码示例(内含5种设备调配的算法)
利用java编写的项目设备调配系统代码示例(内含5种设备调配的算法)
13 1
|
1月前
|
存储 监控 安全
Java基于物联网技术的智慧工地云管理平台源码 依托丰富的设备接口标准库,快速接入工地现场各类型设备
围绕施工安全、质量管理主线,通过物联感知设备全周期、全覆盖实时监测,将管理动作前置,实现从事后被动补救到事前主动预防的转变。例如塔吊运行监测,超重预警,升降机、高支模等机械设备危险监控等,通过安全关键指标设定,全面掌握现场安全情况,防患于未然。
147 5
|
1月前
|
Java