只要有IO,那么就会发生IOError。所以尽量每次都要使用try...finally #!.../usr/bin/env python #-*-coding:utf-8-*- try: f=open("test2.py","r") print f.read() finally: f.close...os.path.split(path) #得到文件拓展名 os.path.splitext(path) #可以使用dir(os)来得到os所有的变量和方法 #使用help(os.xxx)来得到具体的用法...编写一个search(s)的函数,能在当前目录以及当前目录的所有子目录下查找文件名包含指定字符串的文件,并打印出完整路径: #!.../usr/bin/env python #-*-coding:utf-*- import os def search(path,name): for x in os.listdir(path):
IO流的分类可以分为以下三种: 第一种:输入流和输出流 按照流的流向来分,可以分为输入流和输出流。输入,输出都是从程序运行所在内存的角度来划分的。...由OutputStream和Writer作为基类 第二种:字节流和字符流 字节流和字符流的用法几乎完全一样,区别在于字节流和字符流所操作的数据单元不同。...字符流操作的数据单元是16为的字符,由Reader和Writer作为基类 第三种:节点流和处理流 按照流的角色来分,可以分为节点流和处理流。...节点流:可以从向一个特定的IO设备(如磁盘、网络)读/写数据的流。也被称为低级流。 处理流:用于对一个已存在的流进行连接或封装,通过封装后的流来实现数据读/写功能。...如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
IO流大家肯定不陌生,简单整理了一下常用IO流基本用法,其他的IO流还有很多以后有时间在整理。...1.基本概念 IO:Java对数据的操作是通过流的方式,IO流用来处理设备之间的数据传输,上传文件和下载文件,Java用于操作流的对象都在IO包中。...2.IO流的分类 图示:(主要IO流) 3.字节流 (1).字节流基类 1).InputStream InputStream:字节输入流基类,抽象类是表示字节输入流的所有类的超类。...构造方法: // 创建一个新的缓冲输出流,以将数据写入指定的底层输出流 BufferedOutputStream(OutputStream out) // 创建一个新的缓冲输出流,以将具有指定缓冲区大小的数据写入指定的底层输出流...构造方法: // 创建一个使用默认大小输出缓冲区的缓冲字符输出流 BufferedWriter(Writer out) // 创建一个使用给定大小输出缓冲区的新缓冲字符输出流 BufferedWriter
什么是IO流 先看一段百度上的解释: 当然:如果你看不懂,那么你只需要记住下面3句话. 1....(1).我们知道,每个人家里喝的水都是从自来水厂来的,自来水厂的水又是从水源地来的, (2).水是通过水管来的。 (3).那么这当中的水流,便可以理解为IO流。 2....那么JAVA中的IO流呢; (1).在java中,java就是自来水厂,水源地就是源,家就是目的 (2)....流的分类: 介绍几个最主要的;分别是字符流,字节流,转换流。...创建转换流对象 输 出流对象, 输出的编码 OutputStreamWriter osw = new OutputStreamWriter(os,“ISO-8859-1”); 以上就是IO流的简单介绍
、IO流原理 2.2、流的分类 2.3、IO 流体系 04、节点流(或文件流) 4.1、FileReader读入数据的基本操作 4.2、FileReader中使用read(char[] cbuf)读入数据...File类中涉及到关于文件或文件目录的创建、删除、重命名、修改时间、文件大小等方法, * 并未涉及到写入或读取文件内容的操作。如果需要读取或写入文件内容,必须使用IO流来完成。 * 4....for (File f : all) { listAllSubFiles(f);// 递归调用:自己调用自己就叫递归 } } } // 拓展1:求指定目录所在空间的大小 // 求任意一个目录的总大小...public long getDirectorySize(File file) { // file是文件,那么直接返回file.length() // file是目录,把它的下一级的所有大小加起来就是它的总大小...// 累加all[i]的大小 for (File f : all) { size += getDirectorySize(f);// f的大小; } } return size; } // 拓展2
目录 IO流使用cout进行输出cout格式化调整字节宽度以及填充字符setf()相关字符串流文件流 IO流 C++兼容C,所以C中的输入输出函数依然可以在C++中使用,但是直接把C的那套输入输出搬到...C++中肯定无法满足C++的需求。...ss2 << num << ch << str; cout << ss2.str() << endl; return 0; } 输出: 100 192 168 0 1 . 3.14159 文件流...头文件: #include 文件流常用函 描述 open 打开文件 is_open 文件是否被打开 close 关闭文件 getline 读取一行 read 输入(读)到对象 write...写)文件指针位置 eof 是否到了流尾部 C++ 和 C的文件打开模式 C++模式 C模式 描述 ios_base::in "r" 打开以读取 ios_base::out "w" 等价于ios_base
之前我们使用io流,都是需要一个中间数组,管道流可以直接输入流对接输出流,一般和多线程配合使用,当读取流中没数据时会阻塞当前的线程,对其他线程没有影响 定义一个类Read实现Runable接口,实现run...()方法,构造方法传递PipedInputStream对象 读取流里面的数据 定义一个类Write实现Runable接口,实现run()方法,构造方法传递PipedOutputStream对象 写入流里面数据...获取PipedInputStream对象,new出来 获取PipedOutputStream对象,new出来 调用PipedInputStream对象的connect()方法,对接输出流,参数:PipedOutputStream...对象 开启两个线程执行读写 import java.io.IOException; import java.io.PipedInputStream; import java.io.PipedOutputStream
流 不同设备之间的数据传输就是流,可以抽象理解供水厂到家庭之间的水管,水(数据)在管道传输,就成了流 根据流向分为输出流和输入流 数据从文件流向程序称为输入流 数据从程序流向文件称为输出流 根据数据类型分为字节流和字符流...字节流处理字节数据 字符流处理字符数据 按处理数据分为节点流和处理流 节点流 文件流 数组流 管道流 处理流 缓冲流 转换流 基本数据流 对象序列化流 打印控制流 IO流属于阻塞操作,一般项目中应放到子线程中...,避免阻塞主线程 其中几个常见流之间的继承关系如下 ?...,二进制不需要编码解码,比文本效率高,可移植,缺点是人们看不懂二进制内容,当读入数据到内存时,用一个字节或字节数组来存储,写出时同理,并且无论使用什么流,底层传输的都是二进制,所以字节流是一切流的基础...主要传输基本类型的数据,接收的参数是InputStream 2.2.5 PrintStream 打印流提供了非常方便的打印功能,可以打印任何的数据类型,接收的参数是OutputStream 来分析一下日常见到的
IO流 文件操作 File类 作用 java.io.File 类是文件和目录路径名的抽象表示,主要用于文件和目录的创建、查找和删除等操作 构造方法 public File(String pathname...,为输出流,把电脑磁盘当中的数据加载到程序当中为输入流 示例图 IO的分类 根据数据的流向分: 输入流 把数据从 其他设备 上读取到 内存 中的流。...OutputStream: 字节输出流 作用:java.io.OutputStream 抽象类是表示字节输出流的所有类的超类,将指定的字节信息写出到目的地 基本方法 public void close(...Reader类 作用 java.io.Reader 抽象类是表示用于读取字符流的所有类的超类,可以读取字符信息到内存中。...字符缓冲流: BufferedReader , BufferedWriter 基本原理 缓冲流的基本原理,是在创建流对象时,会创建一个内置的默认大小的缓冲区数组, 通过缓冲区读写,减少系统IO 次数
什么是IO流? 基本分类 按照读写数据的基本单位不同,分为 字节流 和 字符流。 其中字节流主要指以字节为单位进行数据读写的流,可以读写任意类型的文件。...其中字符流主要指以字符(2个字节)为单位进行数据读写的流,只能读写文本文件。 按照读写数据的方向不同,分为 输入流 和 输出流(站在程序的角度)。...其中输出流主要指将程序中的数据内容输出到文件中,也就是写文件。 按照流的角色不同分为节点流和处理流。 其中节点流主要指直接和输入输出源对接的流。...其中处理流主要指需要建立在节点流的基础之上的流。 IO流的思维导图 IO流实现文件的上传,复制,粘贴的过程,更好的解决了文件内容的解决读取、访问
先大概了解以下,最后有总结 Java中的输入输出都是以流的形式(文件读写,网络传递)。...编码问题 File类 RandomAccessFile 按照数据流的不同分为·:输入流和输出流 按照处理数据单位不同可以分为:字节流和字符流 1.Java中的输入输出都是以流的形式(文件读写,网络传递)...Java是双字节编码utf-16be 3.File类 java.io.File类用于表示文件(目录), File类只用于表示文件的信息(名称,大小等)不能用于文件内容的访问 第一个标识中需要介绍...6.按照处理数据单位不同可以分为:字节流和字符流 字节流和字符流的原理是相同的,只是处理的单位不同 第五点中为字节流,(处理图片是最好用字节流,防止漏读); 小技巧:后缀为Stream是字节·流,...而后缀为Reader,Writer是字符流 下面是一个字符流中读的Demo(记得要关掉流)《输入流》 下面是一个字符流中写的Demo(记得要关掉流)《输出流》 这里记得要刷新流flush
什么叫流 流就是程序和设备之间嫁接起来的一根用于数据传输的管道,这个管道上有很多按钮,不同的按钮可以实现不同的功能! 这根带有按钮的用于数据传输的管道就是流!...四大基本抽象流 字节输入流:InputStream 字节输出流:OutputStream 字符输入流:Reader 字符输出流:Writer 注:抽象流实质上就是抽象类,实际上使用到的是继承于它们的子类...FileInputStream、FileOutputStream、FileReader、FileWriter 流的分类标准 按数据流的方向不同可以分为输入流(读入程序)和输出流(写入外部文件) 按处理数据单位不同可以分为字节流和字符流...按功能不同可以分为节点流(原始流)和处理流(包裹流) 注:节点流为可以从一个特定的数据源(节点)读写数据(如文件、内存) 处理流是“连接”在已存在的流(节点流或处理流)之上,通过对数据的处理为程序提供更为强大的读写功能...为字符流,一次读取一个字符(两个字节),可用于文本文件的读写,但是不能用于非文本文件的读写,因为非文本文件就不是字符(编码问题)
http://blog.csdn.net/a107494639/article/details/7586365 1.IO流是干什么的? ...IO流指 的是输入输出流,用来处理设备上的数据。这里的设备指硬盘,内存,键盘录入,网络传输等。 2.IO流的分类? ...按处理数据类型来分:字节流和字符流 按流的方向来分:输入流和输入流。 PS:初学流的时候,新手很容易搞不清什么时候用输入流,什么时候用输出流。...简单来说,当需要读数据的时候,需要使用输入流,当需要写数据的时候,需要使用输出流。我以前是这么记忆的:“读入写出”,要读的话就用输入流,要写的话,就用输出流。经常想起这4个字,慢慢就记熟下来了。...因此,只要是纯文本数据处理,优先考虑使用字符流。其他情况就使用字节流。 4.IO流类的关系(列举了其中一部分) ?
IO流 第一部分 (OutputStreamWriter BufferOutputStream) 转换流 超类为Reader和Writer 是字符流通向字节流的桥梁:可使用指定的字符编码表,将要写入流中的字符编码成字节...它的作用的就是,将字符串按照指定的编码表转成字节,在使用字节流将这些字节写出去。...子类可以直接操作文件,但是不能指定编码格式,默认使用系统默认的格式 FileReader fr = new FileReader("a.txt"); 缓冲流 提高输入输出的效率 分为字节缓冲流与字符缓冲流...创建字节输出流缓冲流的对象,构造方法中,传递字节输出流 BufferedOutputStream bos = new...("c:\\a.txt")); //调用缓冲流的方法 readLine()读取文本行 //循环读取文本行, 结束条件 readLine
当谈到字符流Reader和Writer时,我们通常指的是字符输入流和字符输出流,它们是用于读取和写入字符数据的Java I/O类。 Reader类是用于从字符流中读取字符数据的抽象类。...这些字符流类在处理字符数据时有几个重要的特点: 缓冲区:字符流一般都提供了内部缓冲区,以提高读写效率。...下面是一个简单的示例,演示如何使用Reader和Writer读取和写入文件: import java.io.*; public class CharacterStreamsExample {...下面是一个示例代码: import java.io.*; public class FileCopyExample { public static void main(String[] args...然后,创建一个大小为1024的字符缓冲区。在循环中,通过read()方法从源文件中读取字符数据到缓冲区,读取的字符数保存在charactersRead变量中。
IO流 第一部分 (outputStream/InputStream Writer/Redaer) IO流对象中输入和输出是相辅相成的,输出什么,就可以输入什么....IO的命名方式为前半部分能干什么,后半部分是父类的名字....(FileOutputStream 文件输出流) java->JVM->OS 流对象使用的基本步骤 创建流的子类对象,绑定数据目的地(文件路径) 使用write方法写或read方法读 close()方法关闭流对象...off,int len) 将b数组中从off开始的len个字节写入输出流 close() 关闭流对象,并且释放流对象的资源 , (流对象操作的是操作系统中的资源,释放这里资源) FileOutputStram...文件输出流,是用于将数据写入 File的输出流。
IO流总结 1.什么是IO Java中I/O操作主要是指使用Java进行输入,输出操作. Java所有的I/O机制都是基于数据流进行输入输出,这些数据流表示了字符或者字节数据的流动序列。...Java的I/O流提供了读写数据的标准方法。任何Java中表示数据源的对象都会提供以数据流的方式读写它的数据的方法。 Java.io是大多数面向数据流的输入/输出类的主要软件包。...此外,Java也对块传输提供支持,在核心库 java.nio中采用的便是块IO。 流IO的好处是简单易用,缺点是效率较低。块IO效率很高,但编程比较复杂。...Java.IO流类库 1. io流的四个基本类 java.io包中包含了流式I/O所需要的所有类。...1) FileWrite: 与FileOutputStream对应 将字符类型数据写入文件,使用缺省字符编码和缓冲器大小。
我们平时在用流的时候是不是有的时候很纠结,不知道要用哪一个,流对象那么多。 整理一下,来看看流操作的基本规律。...: 是:字符流 否:字节流 3,当体系明确后,再明确要使用哪个具体的对象 通过设备来进行区分: 源设备:内存,硬盘,键盘 目的设备:内存,硬盘,控制台 来个例子看看 将一个文本文件中的数据存储到另一个文件中...接下来要明确使用该体系中的哪个对象。...明确设备:硬盘上的一个文件 Reader体系中可以操作文件的对象是:Reader 是否需要提高效率:是 加入Reader体系中缓冲区,BufferedReader ?...如果不是文本文件也同样的道理. 补充一个知识点 一般我们在存数据的时候可能会乱码,原因就是编码的问题。所以可以通过转换流来解决这个问题。
InputStream和OutputStream两个抽象类构成了读写IO体系的框架基础。...字节流虽然可以操作任何的数据形式,但是对于占用多个字节的字符却不是很方便,需要知道,所以在JAVA中有专门提供了对于字符流的两个抽象类Reader和Writer 分类: IO流按照操作对象:字节流和字符流...按照流的方向分:输入流和输出流 ?...主要的流的体系图:每个输入流都有相应的输出流 在抽象类 Input/OutputStream ReaderWriter 后面跟着具体的实现子类 ?...查询出文件的大小,名称,绝对路径,父目录,最近修改时间,是否隐藏文件 看下file对象的一些常用方法吧: 作用 函数签名 实用等级 获取文件名 String getName() ***** 磁盘文件是否存在
在博主认为真正懂IO流的优秀程序员每次在使用IO流之前都会明确分析如下四点: (1)明确要操作的数据是数据源还是数据目的(也就是要读还是要写) (2)明确要操作的设备上的数据是字节还是文本 (3)...3、初探IO流 1.1 什么是IO 我想在座各位肯定经历都过这样的场景。...好了,到这里,字符流Reader和Writer的故事的到这里了! 前面主要写了一些基本的流作为IO流的入门。从这里开始将要见识一些更强大的流。...也就是说在创建流对象时,会创建一个内置的默认大小的缓冲区数组,通过缓冲区读写,减少系统IO次数,从而提高读写的效率。...原因很简单因为properties类经常和io流的联合一起使用。