Java IO学习笔记七
System对IO的支持
System是系统的类,其中的方法都是在控制台的输入和输出,但是通过重定向也是可以对文件的输入输出System中定义了标准输入、标准输出和错误输出流,定义如下:
static PrintStream err“标准”错误输出流。static InputStream in“标准”输入流。static PrintStream out“标准”输出流。
- 从上面的定义可以知道这里的返回值都是字节的输入和输出流,因此可以使用
PrintStream接受这个返回值,然后利用其进行输出,同样的输入也是可以这样做,当然对于OutputStream和InputStream也是可以的,因为PrintStream是继承OutputStream
System.out
System.out是一个标准的输出流,可以使用PrintStream和OutputStream接收返回值,然后使用其进行标准的输出,实例如下
PrintStream printStream=System.out; //使用PrintStream
//OutputStream outputStream=System.out; //使用OutputStream
String name="陈加兵";
int age=22;
printStream.printf("姓名:%s,年龄:%s",name,age); //使用格式话的输出
其实我还是比较用
PrintStream进行格式话的输出的
System.out的重定向输出,可以使用这个将指定的内容输出到文件中,实例如下:
try {
File file=new File("/tmp"+File.separator+"test"+File.separator+"test.txt");
System.setOut(new PrintStream(new PrintStream(file))); //设置重定向的文件
}catch (IOException e)
{
e.printStackTrace();
}
System.out.println("陈加兵的个人博客");//向文件输入内容
System.in
- 这是一个标准输入流,可以使用
InputStream来接受返回值,然后利用其进行输入,实例如下:
byte[] bytes=new byte[1024];
InputStream inputStream=System.in; //使用InputStream来接收这个返回值
try {
inputStream.read(bytes); //读取控制台输入的字符串
}catch (IOException e)
{
e.printStackTrace();
}
System.out.println(new String(bytes)); //输出
说实话这种控制台输入的方式不太好,还是使用原来的
Scanner比较好
- System.in的重定向
byte[] bytes = new byte[1024];
File file = new File("/tmp" + File.separator + "test" + File.separator + "test.txt");
try {
System.setIn(new FileInputStream(file)); //设置重定向
System.in.read(bytes); //读取文件中字节数据
} catch (IOException e) {
e.printStackTrace();
}
System.out.println(new String(bytes)); //打印出文件中的内容
System.err
- 这是一个标准错误输出流,在
IDEA中输出的内容是红色的,和System.out输出的格式一样,只是颜色不一样,因为这里的重定向不太重要也不太常用,这里就不再详细说了,详情请看帮助文档
System.exit
public static void exit(int status)- 终止当前的
java虚拟机,参数用作状态码;根据惯例,非0的状态码表示异常终止,如System.exit(0)
参考文章
Java IO学习笔记七的更多相关文章
- Java IO学习笔记七:多路复用从单线程到多线程
作者:Grey 原文地址:Java IO学习笔记七:多路复用从单线程到多线程 在前面提到的多路复用的服务端代码中, 我们在处理读数据的同时,也处理了写事件: public void readHandl ...
- Java IO学习笔记:概念与原理
Java IO学习笔记:概念与原理 一.概念 Java中对文件的操作是以流的方式进行的.流是Java内存中的一组有序数据序列.Java将数据从源(文件.内存.键盘.网络)读入到内存 中,形成了 ...
- Java IO学习笔记总结
Java IO学习笔记总结 前言 前面的八篇文章详细的讲述了Java IO的操作方法,文章列表如下 基本的文件操作 字符流和字节流的操作 InputStreamReader和OutputStreamW ...
- Java IO学习笔记三
Java IO学习笔记三 在整个IO包中,实际上就是分为字节流和字符流,但是除了这两个流之外,还存在了一组字节流-字符流的转换类. OutputStreamWriter:是Writer的子类,将输出的 ...
- Java IO学习笔记二
Java IO学习笔记二 流的概念 在程序中所有的数据都是以流的方式进行传输或保存的,程序需要数据的时候要使用输入流读取数据,而当程序需要将一些数据保存起来的时候,就要使用输出流完成. 程序中的输入输 ...
- Java IO学习笔记一
Java IO学习笔记一 File File是文件和目录路径名的抽象表示形式,总的来说就是java创建删除文件目录的一个类库,但是作用不仅仅于此,详细见官方文档 构造函数 File(File pare ...
- Java IO学习笔记一:为什么带Buffer的比不带Buffer的快
作者:Grey 原文地址:Java IO学习笔记一:为什么带Buffer的比不带Buffer的快 Java中为什么BufferedReader,BufferedWriter要比FileReader 和 ...
- Java IO学习笔记二:DirectByteBuffer与HeapByteBuffer
作者:Grey 原文地址:Java IO学习笔记二:DirectByteBuffer与HeapByteBuffer ByteBuffer.allocate()与ByteBuffer.allocateD ...
- Java IO学习笔记三:MMAP与RandomAccessFile
作者:Grey 原文地址:Java IO学习笔记三:MMAP与RandomAccessFile 关于RandomAccessFile 相较于前面提到的BufferedReader/Writer和Fil ...
随机推荐
- linux系统资源限制
概述 拜读了小Y对ora-7445问题的解读,猛然惊醒发现自己对oracle运行在linux上的资源限制一直是朦朦胧胧的,以此文章督促自己深入了解. 1 limits.conf 和sysctl.con ...
- Linux系统管理10——进程和计划任务管理
Linux系统管理10——进程和计划任务管理 一.程序和进程的关系 1.程序 ·保存在硬盘.光盘等介质中的可执行代码和数据 ·静态保存的代码 2.进程 ·在CPU及内存中运行的程序代码 ·动态执行的代 ...
- 初识hadoop-历史及其家族(日志一)
1,书籍推荐: 2,Google技术带来的东西: 下一篇:JDK的安装级其中遇到的问题
- 在QT中创建文件
最近在做QT东西时遇到在指定路径下创建文件,发现qt中没有直接用的. 主要通过自定义一个createFile()函数来实现,其中需要用到<QFile> <QDir> <Q ...
- 移动Web开发小结
以下是做移动端Web开发过程中小结的几个事项:希望能够帮助到大家,同时也方便自己查看: 1,在移动开发页面中,主体盒子的max-width与min-width的设置原因: ①设置max-width是为 ...
- [笔记]机器学习(Machine Learning) - 00.目录/大纲/写在之前
目录会根据我的学习进度而更新,给自己列一个大纲以系统地看待整个学习过程. 学习资料来源 学习的是Coursera上吴恩达(Andrew Ng)老师的机器学习视频(课程传送门,最近在"最强大脑 ...
- Windows安装Mysql5.7.10绿色版
今天在Windows上安装Mysql的时候,去官网上下了一个最新版本的Mysql5.7.10绿色版,但是之前网上安装方式都过时了,比如会报一些常见的错误“[ERROR] Fatal error: Ca ...
- redis-key相关命令
本篇主要介绍和redis的key进行操作的相关命令. 命令 描述 复杂度 返回值 DEL key [key ...] 删除给定的一个或多个 key .不存在的 key 会被忽略.删除单个列表.集合.有 ...
- GROUP BY语句与HAVING语句的使用
一.GROUP BY GROUP BY语句用来与聚合函数(aggregate functions such as COUNT, SUM, AVG, MIN, or MAX.)联合使用来得到一个或多个列 ...
- Trie树详解
1. 概述 Trie树,又称字典树,单词查找树或者前缀树,是一种用于快速检索的多叉树结构,如英文字母的字典树是一个26叉树,数字的字典树是一个10叉树.Trie一词来自retrieve,发音为/tri ...