io流

JavaSE学习笔记之-----IO流

蓝咒 提交于 2019-12-01 13:58:28
目录: 一、什么是IO流 二、流的分类 1、节点流 2、处理流 2.1缓冲流 2.2转换流 2.3数据流 2.4Print流(打印流) 2.5 Object流(对象流) 一、什么是IO流 IO流即是输入(Input)输出(Output)流,输入和输出的方向是针对程序而言的,比如现在要读取文件内容,那么就是输入流,是对于程序而言的。流其实就是传输数据用的,流位于java.io包当中,最主要的就是字符流和字节流,Java当中字符是两个字节。关于流的类都继承自下面抽象类 注意这几个是抽象类,无法实例化。 二、流的分类 一般按照处理数据单位分为字节流和字符流,这里按照功能分类,分成节点流和处理流。 1、节点流 可以看到节点流有处理文件的,有处理内存数组(Memory Array)的,内存字符串的、以及Pipe管道的。 下面以处理File为例,先介绍字节流: /** * 读取路径下的文件内容,显示在控制台 */ package com.zhoucy.io; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; public class TestFileInputStream { public static void main(String[] args

Java基础学习(九) - File类和IO流

自闭症网瘾萝莉.ら 提交于 2019-12-01 08:21:58
1.File类 java.io.File 类是文件和目录路径名的抽象表示,主要用于文件和目录的创建、查找和删除等操作 。 构造方法: public File(String pathname) :通过将给定的 路径名字符串 转换为抽象路径名来创建新的 File 实例。 public File(String parent, String child) :从 父路径名字符串和子路径名字符串 创建新的 File 实例。 public File(File parent, String child) :从 父抽象路径名和子路径名字符串 创建新的 File 实例。 常用方法: public String getAbsolutePath() :返回此 File 的绝对路径名字符串。 public String getPath() :将此 File 转换为路径名字符串。 public String getName() :返回由此 File 表示的文件或目录的名称。 public long length() :返回由此 File 表示的文件的长度。 public boolean exists() :此 File 表示的文件或目录是否实际存在。 public boolean isDirectory() :此 File 表示的是否为目录。 public boolean isFile() :此 File

IO、序列流

谁都会走 提交于 2019-12-01 08:09:45
import java.io.*; import java.util.*; public class Practice_2 { public static void main(String[] args) throws IOException { // TODO Auto-generated method stub Vector<FileInputStream> v = new Vector<FileInputStream>(); v.add(new FileInputStream("1.txt")); v.add(new FileInputStream("2.txt")); v.add(new FileInputStream("3.txt")); Enumeration<FileInputStream> en = v.elements(); SequenceInputStream sis = new SequenceInputStream(en); FileOutputStream fos = new FileOutputStream("4.txt"); byte[] buf = new byte[1024]; int len = 0; while((len=sis.read(buf))!=-1) { fos.write(buf,0,len); } fos.close();

Java IO流小结

吃可爱长大的小学妹 提交于 2019-12-01 07:02:06
一个流可以理解为一个序列,输出流从一个源头输出数据,输入流向目标输入数据。这些流在数据传输和网络编程起着非常大的作用,下面我们学习其中形形色色的类,了解他们之间的关系与作用。 下图是一个输入流与输出流的类层次图 一,InputStream与OutputStream,字节输入流与字节输出流 InputStream是所有字节输入流的父类,其中子类FileInputStream,DataInputStream,BufferedInputStream,ByteArrayInputStream较为常见,一会详细介绍一下 InputStream常用方法总结 available()返回可以从此输入流读取(或跳过)而不被此输入流的下一个调用方阻塞的字节数 close() 关闭输入流,释放资源 read() 从输入流读取下一字节的数据 read(byte[] b)从输入流中读取一定数量的字节,并将它们存储到缓冲区数组中 OutputStream这个抽象类是表示字节输出流的所有类的超类。输出流接受输出字节并将它们发送到某个接收器 close()仍然是关闭流,释放此流相关的所有资源 writer(int b)将指定的字节写入此输出流 writer(byte[] b)写字 b.length 从指定字节数组到此输出流的字节 Input Stream子类FileInputStream

IO—转换流和键盘录入

ⅰ亾dé卋堺 提交于 2019-12-01 01:27:39
简单来说,由于方法的局限性和功能的需要,特此产生了转换流。 InputStreamReader是字节流转换字符流的桥梁,为了提高效率,可以在缓冲区中放入转化流的对象,,并且构造函数第二个参数可以传入一个指定字符编码 读入键盘录入并打印控制台: InputStream is = System.in; BufferedReader bufr = null; InputStreamReader inr = null; try { inr = new InputStreamReader(is,"UTF-8"); bufr = new BufferedReader(inr); String str = null; char []ch = new char[1024]; while((str = bufr.readLine())!=null) { System.out.println(str.toUpperCase()); } }catch(IOException e) { e.printStackTrace(); }catch(Exception e) { e.printStackTrace(); }finally { try { if(bufr!=null)bufr.close(); if(inr!=null)inr.close(); }catch(IOException e) { e

IO流——各种流整理

跟風遠走 提交于 2019-11-30 23:45:22
最简单的,不加任何修饰的字节输入流 1 /* 2 * 最简单的,不加任何修饰的字节输入流 3 */ 4 import java.io.FileInputStream; 5 6 public class Demo_01 { 7 public static void main(String[] args) throws Exception { 8 FileInputStream file=new FileInputStream("D:\\myjavacode\\IO\\src\\abc.txt"); 9 int temp =-1; 10 while((temp=file.read())!=-1) { 11 System.out.println((char)temp); 12 } 13 file.close(); 14 } 15 } 用数组做缓冲容器 1 import java.io.FileInputStream; 2 3 /* 4 * 用数组做缓冲容器 5 */ 6 public class Demo_02 { 7 public static void main(String[] args) throws Exception { 8 FileInputStream file=new FileInputStream("D:\\myjavacode\\IO\\src\\abc.txt")

IO详解

雨燕双飞 提交于 2019-11-30 23:35:06
IO流简单来说就是Input和Output流 ,IO流主要是处理设备之间的数据传输,java对于数据的操作都是通过流来实现的,而java对于操作流的对象都是在IO包中   按照操作数据划分:     字节流和字符流  InputStream和Reader    OutputStream和Writer   按流划分:     输入流和输出流  InputStream和OutputStream  Writer和Reader 一 字符流:   字符流只是用来处理文本数据的,数据最常见的表现形式是文件,字符流用于操作文件的子类一般是FileReader和FileWriter 注意: 写入文件后必须要用flush()刷新 用完流要记得关闭流 使用流对象要处理IO异常 定义文件路径可以使用"/"或者"\\" 在创建一个文件时,如果目录下有同名文件讲被覆盖 读取文件时,要保证该文件存在,否则会出现异常 创建一个文件,并存入数据: FileWriter fw = null;   try { fw = new FileWriter("D:\\IOreview.txt");//明确文件存放的位置 fw.write("谢晓飞");//写入数据 fw.flush();//刷新,不刷新没有数据 fw.write("真帅");//flush刷完还能继续写数据 }catch(IOException e) {  

IO流

余生颓废 提交于 2019-11-30 15:18:40
IO流用来处理设备之间的数据传输,文件复制,上传文件和下载文件 IO流分类   输出流,数据从java程序中出去     FileWriter——如果要在文件中追加数据,在创建对象的时候,加一个true     创建输出流对象时会调用系统资源创建一个文件,创建输出流对象,把输出流对象指向文件     write()——写字符串,字符串不会直接写入文件中,会自动进入缓冲区       如果不写绝对路径,就会默认为相对路径,相对路径会在项目的根目录下       \n,可以实现换行,但是windows系统识别的换行符是\r\n,linux:\n,mac:\r     flush()——刷新缓冲区     close()——释放资源,通知系统释放和该文件相关的资源,同时检查缓冲区是否有数据,也会做flush动作        输入流,将数据写入Java程序     FileReader     read()——读取一个字符,返回字符的ASKII码,如果没有字符,会返回-1     while((ch = fr.read()) != -1){}——通常用这种方式读取      复制粘贴基本原理:   创建文件输入输出流两个对象   while((ch = fr.read())!=-1){     fw.write(ch);   }   释放输入流与输出流的资源 来源: https:/

Java IO流

回眸只為那壹抹淺笑 提交于 2019-11-30 11:07:05
IO流框架 IO流概述 IO即输入与输出,Java把不同来源和目标的数据抽象为流,在此基础上对流进行数据操作 IO流分类 按流向分: 输入流 输出流 按操作类型分: 字节流 : 面向字节,非必须缓冲区,可处理任意文件 字符流 : 面向字符(可能是多个字节),必须缓冲区,一般处理文本 IO流顶层父类皆为抽象类 顶层父类 描述 InputStrream 输入字节流 OutputStream 输出字节流 Reader 输入字符流 Writer 输出字符流 IO使用流程 使用前,导入IO包中的类 使用时,进行IO异常处理 使用后,释放资源 字节流 FileInputStream,FileOutputStream(简单字节流) demo import java.io.*; public class IoTest { public static void main(String[] args) throws IOException { FileInputStream fi=new FileInputStream("a.txt"); FileOutputStream fo=new FileOutputStream("b.txt"); int len; byte[] buffer=new byte[1024*8];//缓冲区大小 while ((len=fi.read(buffer))!=-1)/

io流的综合使用

微笑、不失礼 提交于 2019-11-30 05:47:25
//第一步:给定指定原路径和目标路径 public static void main(String[] args) throws IOException { //源目录 File src = new File("d:\\源目录"); if(src.isDirectory()==false){ System.out.println("源文件路径不存在"); return; } //当目标目录不存在的时候,创建 File dest = new File("e:\\g"); isExit(dest); copyDir(src,dest); } //第二步:开始递归复制 public static void copyDir(File src,File dest) throws IOException { //为了严谨起见,我们首先对源目录和目标目录进行判断,看他们到底是不是目录 if(src.isDirectory() && dest.isDirectory()) { //desc表示在目的地路径下 //src.getName源路径的名称(创建文件夹) File newDir = new File(dest , src.getName()); if(!newDir.exists()) { newDir.mkdir(); } //获取源目录下所有的文件和子目录 File[] files =