java I/O流
在java中所有数据都是使用流读写的。流是一组有序的数据序列,将数据从一个地方带到另一个地方。根据数据流向的不同,可以分为输入(Input)流和输出(Output)流两种。
I/O流概念:输入就是将数据从各种输入设备(包括文件、键盘等)中读取到内存中,输出则正好相反,是将数据写入到各种输出设备(比如文件、显示器、磁盘等)。例如键盘就是一个标准的输入设备,而显示器就是一个标准的输出设备,但是文件既可以作为输入设备,又可以作为输出设备。
数据流是java进行I/O操作的对象,
数据流按照不同标准的分类:
按照流的方向主要分为输入流和输出流两大类。
数据流按照数据单位的不同分为字节流和字符流。
按照功能可以划分为节点流和处理流。
数据流的处理只能按照数据序列的顺序来进行,即前一个数据处理完之后才能处理后一个数据。数据流以输入流的形式被程序获取,再以输出流的形式将数据输出到其它设备
例子
package Test;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
class LogWrite{
private static boolean fileLog = true;
private static String logFileName = "C:\\java\\Animal\\src\\result\\result.txt";//指定程序执行结果保存的文件路径
public static OutputStream getOutputStream() throws IOException{
if(fileLog)
{
File file = new File(logFileName);
if(!file.exists())
file.createNewFile();
return new FileOutputStream(file, true);
}
else
{
return System.out;
}
}
public static void log(String info) throws IOException{
OutputStream out = getOutputStream();
out.write(info.getBytes("utf-8"));
}
}
测试
package Test;
import java.io.IOException;
public class Test1 {
public static void main(String[] args) throws IOException {
LogWrite.log("hello world");//"hello world"会保存到result.txt文件中
}
}