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 ...
随机推荐
- Android系统--输入系统(十二)Dispatch线程_总体框架
Android系统--输入系统(十二)Dispatch线程_总体框架 1. Dispatch线程框架 我们知道Dispatch线程是分发之意,那么便可以引入两个问题:1. 发什么;2. 发给谁.这两个 ...
- Telegram学习解析系列(一):认识一下Telegram的源码
前言: Telegram不知道有多少同行听过这玩意,或者在看它的源码.我是出于工作原因才接触到这东西,看的真是的......变方了!一个月估计刚刚找到门,还没进去多深,把自己的心得和对源码的认识以及我 ...
- 倒计时(距离活动结束还有X天X小时X分X秒)
一个简单的倒计时,可以设定结束时间,然后自动计算出距离活动结束还有X天X小时X分X秒. 废话不多说,上代码,挺简单的,代码里有注释: // 活动倒计时 var time_end = new Date( ...
- Java Swing 图形界面实现验证码(验证码可动态刷新)
import java.awt.Color;import java.awt.Font;import java.awt.Graphics;import java.awt.Toolkit;import j ...
- 介绍几个python的音频处理库
一.eyeD3 直接在google上搜索python mp3 process ,推荐比较多的就是这个第三方库了.先来看看官方介绍吧. About eyeD3 is a Python tool for ...
- java虚拟机--jvm client模式与server模式的区别
JVM Server模式与client模式启动,最主要的差别在于:-Server模式启动时,速度较慢,但是一旦运行起来后,性能将会有很大的提升.JVM如果不显式指定是-Server模式还是-clien ...
- jdbc驱动的类加载过程
这段时间跟类加载机制是干上了. 这一篇来分析一下jdbc工作过程中涉及到的类加载流程,重点是想看看在双亲委派模型不适用的时候,如何解决. 第一步,加载数据库的驱动 Class.forName(&quo ...
- AngularJs之初
很久以前就听人说起angularjs,但一直都没有深入了解过.直到最近才在自己心里有了一个准确的定义.和相濡以沫多年的函数库JQuery相比,angular更像一个框架.对,就是一个框架,相比之下的话 ...
- 使用公共 Registry - 每天5分钟玩转 Docker 容器技术(19)
保存和分发镜像的最直接方法就是使用 Docker Hub. Docker Hub 是 Docker 公司维护的公共 Registry.用户可以将自己的镜像保存到 Docker Hub 免费的 repo ...
- Kotlin初探
前几天看到新闻,Google将Kotlin语言作为Android应用开发的一级语言, 与Java并驾齐驱, 这则消息在开发界一下就炸开了锅( 好像平息的很快...)! 连Google的亲儿子go语言也 ...