流是用来读写传输数据的,输入和输出是对程序本身而言的,但程序需要读入数据用读入流,程序需要将数据输出保存起来用输出流。
流相当于各种不同的管道来传输数据。按读入和输出分为输入流和输出流。按传输的类型分为字节流和字符流。按管道与管道的关系又可分为节点流与处理流。
outputstream是java中的字节输出流,它能用来将文件或者字符串输出到新的文件中。具体操作查看原文,附代码解释。
字节流中输出使用OutputStream类输入使用InputStream类。
在java中流的操作分为下面4个步骤:
使用File类打开一个文件 通过流的子类来指定位置 进行输入或输出操作 关闭输入/输出
登录后复制
字节输出流:OutputStream
OutputStream类是抽象类,其子类FileOutputStream
import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; public class TestOutPutStream { private static InputStream in; private static OutputStream out; public static void main(String[] args) { try { in = new FileInputStream("D:/test/testIO.java"); if(in == null){ //原文件不存在 System.out.println("原文件不存在"); }else{ //原文件存在,判断目标文件是否存在 File file = new File("D:/test/testIOO.txt"); if(!file.exists()){ //目标文件不存在,创建目标文件 file.getParentFile().mkdirs(); file.createNewFile(); } //将原文件内容读取到目标文件 out = new FileOutputStream(file); int a = 0; while((a = in.read()) != -1){ out.write(a); } } } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ //流关闭 try { if(in != null){ in.close(); } if(out != null){ out.close(); } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }
登录后复制
通过实践,发现原先D盘中有文件,通过outputstream生成了新的文件。
以上就是java中outputstream文件输出流的用法的详细内容,更多请关注风君子博客其它相关文章!
最新评论