java中输入流输出流的判断依据是什么

工作多年的我,依然不知道输出流,输入流到底是个什么东西。

比如将一串字符串写到文件中,到底是输入流还是输出流。

如何判断用输入流还是用输出流或者说判断的依据是什么。

OutputStream:

FileOutputStream fos=new FileOutputStream("E:"+File.separator+"upload"+File.separator+"a.txt");
byte[] bytes="你好".getBytes(Charset.forName("UTF-8"));
fos.write(bytes);
fos.close();

上面一段代码是将你好两个字输入到文件a.txt中。

从上面的代码判断向文件写入数据是输出流。

把a.txt中的内容读到java中:

InputStream:

FileInputStream fis=new FileInputStream("E:"+File.separator+"upload"+File.separator+"a.txt");
int size=6;
byte[] b=new byte[size];
int c=0;
while ((c=fis.read(b))!=-1){
    System.out.println(new String(b,0,c));
}

 从上面的截图中我们看到“你好”两个字已经写入到a.txt中了,并且也从a.txt中读取了“你好”,并在控制台打印了。

从上面的两个例子我们总结输入流和输出流的判断依据:

数据从内存到文件是输出流,用OutputStream;

数据从文件到内存是输入流,用InputStream.

判断的参照物是内存。

原文地址:https://www.cnblogs.com/guoyansi19900907/p/12386664.html