黑马程序员--IO(1)

发布时间:2016-12-8 0:18:29 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"黑马程序员--IO(1)",主要涉及到黑马程序员--IO(1)方面的内容,对于黑马程序员--IO(1)感兴趣的同学可以参考一下。

------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ---------- IO(Input Output)流: 1.IO流用来处理设备之间的数据传输 2.Java对数据的操作是通过过流的方式 3.Java用于操作流的对象都在IO包中 4.流按操作数据分为两种:字节流和字符流 5.流按流向分为:输入流和输出流 注意:字节流通用,字符流基于字节流 IO流常用基类: 字节流的抽象基类: InputStream ,OutputStream 字符流的抽象基类: Reader,Writer 注意:由这四个类派生出来的子类名称都是以其父类名作为子类名的后缀。 例如:InputStream的子类FileInputStream.            Reader的子类FileReader. 如何使用IO体系呢? 字符流: package com.mth; import java.io.FileWriter; import java.io.IOException; /** * * @ClassName: FileWriterTest * @Description: FileWriter文件 * @author mth [email protected] * @date 2014-2-17 下午07:20:11 * */ public class FileWriterTest { public static void main(String[] args) throws IOException { // 创建一个FileWriter对象 该对象一被初始化就必须要明确被操作的文件 // 而且该文件会被创建在指定的目录下,如果该目录下已有同名文件将被覆盖 // 其实改步就是在明确数据要存放的目的地 FileWriter fWriter = new FileWriter("demo.txt"); // 调用write方法,把字符串写到流中 fWriter.write("aaaaaaccaa"); // 刷新流对象缓冲中的数据 将数据刷到目的地中。 // fWriter.flush(); // 关闭流 但是关闭之前会刷新一次内部的缓冲中的数据 // 将数据刷到目的地中 // 和flush()区别:flash刷新后,流可以继续使用。close刷新后,会将流关闭 fWriter.close(); } } IO异常标准正常处理: package com.mth; import java.io.FileWriter; import java.io.IOException; /** * * @ClassName: IOExceptionTest * @Description:IO异常处理 * @author mth [email protected] * @date 2014-2-17 下午07:46:31 * */ public class IOExceptionTest { public static void main(String[] args) { // 在外面建立引用 在try内初始化 FileWriter fWriter = null; try { fWriter = new FileWriter("mth.txt"); fWriter.write("sasas"); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally {// 一定会被执行的放在finally里面 try { if (fWriter != null) {// 不等于空的时候才关闭 fWriter.close(); } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } } 文件的续写: package com.mth; import java.io.FileWriter; import java.io.IOException; /** * * @ClassName: FileAddData * @Description: 演示对已有文件的数据续写 * @author mth [email protected] * @date 2014-2-17 下午07:59:59 * */ public class FileAddData { public static void main(String[] args) throws IOException { // 传递一个true参数,代表不覆盖已有的文件。 并在已有文件的末尾处进行数据的续写 FileWriter fileWriter = new FileWriter("mth.txt", true); // 换行写/r/n fileWriter.write("\r\nmth"); fileWriter.close(); } } 读文件(一次读一个字符): package com.mth.FileReader; import java.io.FileReader; import java.io.IOException; /** * * @ClassName: FileReaderTest * @Description: FileReader读文件 * @author mth [email protected] * @date 2014-2-17 下午08:13:51 * */ public class FileReaderTest { public static void main(String[] args) throws IOException { // 创建一个文件读取刘对象,和制定名称的文件想关联 // 要保证该文件是已经存在的,如果不存在,会发生异常FileNotFoundException FileReader fileReader = new FileReader("mth.txt"); // read()方法一次读一个字符,而且会自动往下读 int ch = 0; // 读到最后一个-1的时候停止 while ((ch = fileReader.read()) != -1) { System.out.print((char) ch); } fileReader.close(); } } 读文件(读一个存一个 一起打印出去): package com.mth.FileReader; import java.io.FileReader; import java.io.IOException; /** * * @ClassName: FileReaderTest2 * @Description: 通过字符数组进行读取 * @author mth [email protected] * @date 2014-2-17 下午08:29:32 * */ public class FileReaderTest2 { public static void main(String[] args) throws IOException { FileReader fileReader = new FileReader("mth.txt"); // 定义一个字符数组用于存储读到的字符 char[] cbuf = new char[1024]; // 该read(cbuf[])方法返回的是读到字符个数 int num = 0; while ((num = fileReader.read(cbuf)) != -1) { System.out.println(new String(cbuf, 0, num)); } fileReader.close(); } } 文本文件读取练习: package com.mth.FileReader; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; /** * * @ClassName: FileReaderJava * @Description: 读取一个.java文件,并打印在控制台上 * @author mth [email protected] * @date 2014-2-17 下午09:01:14 * */ public class FileReaderJava { public static void main(String[] args) throws IOException { FileReader fReader = new FileReader("Test1.java"); char[] cbuf = new char[1024]; int ch = 0; while ((ch = fReader.read(cbuf)) != -1) { System.out.println(new String(cbuf, 0, ch)); } fReader.close(); } } 将C盘文件复制到D盘 package com.mth.copy; import java.io.File; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; /** * * @ClassName: CopyFile * @Description: 将c盘一个文本文件复制到d盘 * @author mth [email protected] * @date 2014-2-17 下午09:06:35 * 步骤: 1在D盘创建一个文件,用于存储c盘文件中的数据 * 2 定义读取流和c盘文件关联 * 3通过不断的读写完成数据存储 * 4关闭资源 */ public class CopyFile { public static void copy() throws Exception { // 创建目的地 FileWriter fileWriter = new FileWriter("Test1_copy.java"); // 与已有文件关联 FileReader fileReader = new FileReader("Test1.java"); int ch = 0; char[] array = new char[1024]; while ((ch = fileReader.read(array)) != -1) { fileWriter.write(array, 0, ch); } fileWriter.close(); fileReader.close(); } public static void main(String[] args) throws Exception { copy(); } } ------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------

上一篇:TotoiseSVN的基本使用方法
下一篇:EBS开发技术之Patch安装

相关文章

相关评论