最近又复习了下JavaIO写了些实例代码都很简单但是能体现大部分方法的用法。

IO流实现文件的拷贝   几种不同的方法:

package com.wxisme.TestIO;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;/*** 字节流拷贝文本文件* @author wxisme**/public class StreamOne {public static void main(String[] args) {String path = "E:" + File.separator + "test.txt";File file = new File(path);try {file.createNewFile();} catch (IOException e) {System.out.println("创建文件失败");e.printStackTrace();}InputStream is = null;try {is = new FileInputStream(file);} catch (FileNotFoundException e1) {e1.printStackTrace();}String fileName = "E:" + File.separator + "Bullet.java";OutputStream os = null;try {os = new FileOutputStream(fileName,true);} catch (FileNotFoundException e1) {e1.printStackTrace();}byte[] b = new byte[10];int len = 0;try {while((len = is.read(b)) != -1) {os.write(b, 0, len);}os.flush();//强制刷出缓冲区} catch (IOException e) {e.printStackTrace();}finally {try {os.close();} catch (IOException e) {e.printStackTrace();}try {is.close();} catch (IOException e) {e.printStackTrace();}}System.exit(0);}}

package com.wxisme.TestIO;import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Reader;
import java.io.Writer;/*** 字节流拷贝文件* @author wxisme**/public class StreamTwo {public static void main(String[] args) {String path = "E:" + File.separator + "test.txt";String name = "E:" + File.separator + "Bullet.java";Reader r = null;try {r = new FileReader(name);} catch (FileNotFoundException e) {System.out.println("创建字符输入流失败");e.printStackTrace();}Writer w = null;try {w = new FileWriter(path);} catch (IOException e) {System.out.println("创建字符输出流失败");e.printStackTrace();}char[] cbuf = new char[10];int len = 0;try {while((len = r.read(cbuf)) != -1) {//w.write(cbuf);w.write(cbuf, 0, len);}w.flush();//强制刷出} catch (IOException e) {e.printStackTrace();}finally {try {w.close();} catch (IOException e) {e.printStackTrace();}try {r.close();} catch (IOException e) {e.printStackTrace();}}}}

package com.wxisme.TestIO;import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.PrintStream;
import java.util.Scanner;/*** 重定向输入输出 实现文件的拷贝* @author wxisme**/public class Reset {public static void main(String[] args) throws FileNotFoundException {String src = "E:" + File.separator + "Bullet.java";String path = "E:" + File.separator + "test.txt";FileInputStream fis = new FileInputStream(src);System.setIn(fis);PrintStream ps = new PrintStream(new FileOutputStream(path));System.setOut(ps);Scanner scan = new Scanner(System.in);scan.useDelimiter("\n");//以换行符为分隔符while(scan.hasNext()) {System.out.println(scan.next());}}}

处理流PrintStrream PrintWriter

package com.wxisme.TestIO;import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintStream;
import java.io.PrintWriter;/*** 使用处理流printStream  printWriter* @author wxisme**/public class StreamFour {public static void main(String[] args) throws IOException {String path = "E:" + File.separator + "test.txt";PrintStream ps = new PrintStream(new FileOutputStream(path,true));ps.print("PrintStream");PrintWriter pw = new PrintWriter(new FileWriter(path));pw.print("PrintWriter");pw.close();ps.close();}}

读取单个字符

package com.wxisme.TestIO;import java.io.IOException;
import java.io.Reader;
import java.io.StringReader;
import java.util.Scanner;/*** 读取单个字符* @author wxisme**/public class ReaderOne {public static void main(String[] args) throws IOException {Scanner scan = new Scanner(System.in);String str = scan.next();Reader r = new StringReader(str);char[] cbuf = new char[10];while(r.read(cbuf,0,1) != -1) {char c = cbuf[0];System.out.println(c);}r.close();}}

转换流

package com.wxisme.TestIO;import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;/*** 使用转换流* @author wxisme**/public class StreamThree {public static void main(String[] args) throws IOException {/** 输入流底层使用字节流,然后使用转换流把字节流转换成字符流,并且指定解码字符集。* 然后把字符流包装成缓冲流,按行读取文件。* 乱码问题的两个主要原因:*    1. 解码字符集与编码字符集不统一*    2. 读取字节缺少,长度丢失。*/String path = "E:" + File.separator + "Bullet.java";BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(new File(path)),"utf-8"));String str;while((str = br.readLine()) != null) {System.out.println(str);}br.close();}}

关闭文件的工具方法的两种写法:

package com.wxisme.TestIO;import java.io.Closeable;
import java.io.IOException;/*** 关闭文件资源的工具类  有两种实现方法   可以实现一次关闭多个文件,先打开的文件后关闭* @author wxisme**/public class CloseAll {/*** 使用多态    可变参数   可以有多个形参以数组的形式   可变形参必须在所有参数的最后* @param io*/public static void closeAll1(Closeable ... io) {for(Closeable temp : io) {if(temp != null) {try {temp.close();} catch (IOException e) {System.out.println("文件关闭失败");e.printStackTrace();}}}}/*** 泛型方法   使用泛型方法和可变参数* @param io*/public static <T extends Closeable> void closeAll2(Closeable ... io) {for(Closeable temp : io) {if(temp != null) {try {temp.close();} catch (IOException e) {System.out.println("文件关闭失败");e.printStackTrace();}}}}}

JavaIO简单代码实例相关推荐

  1. Redis:安装、配置、操作和简单代码实例(C语言Client端)[转]

    我转的地址: http://blog.csdn.net/hj19870806/article/details/8724907 听说游戏的用的比较多,所以了解下. --以下为转载内容 Redis是一个开 ...

  2. HBase简单代码实例(Java)

    这里我们用一个学生成绩表作为例子,对HBase的基本操作和基本概念进行讲解: 下面是学生的成绩表: name grad      course:math   course:art Tom    1  ...

  3. java练手代码大全手机版_java循环练习的简单代码实例

    ★打印九九乘法表 public class TestDemo { public static void main(String[] args){ for(int b=1;b<10;b++){ f ...

  4. TensorFlow个人学习(下载安装简单代码例子)

    (由于项目最终决定使用TensorFlow,所以博客来总结学习TensorFlow) 下载和安装: 由于TensorFlow也官方支持windows了,省去了很多功夫,安装就更简单了. TensorF ...

  5. python读文件代码-简单了解Python读取大文件代码实例

    这篇文章主要介绍了简单了解Python读取大文件代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 通常对于大文件读取及处理,不可能直接加载到内 ...

  6. CV之IS:利用pixellib库基于mask_rcnn_coco模型对《庆余年》片段实现实例分割简单代码全实现

    CV之IS:利用pixellib库基于mask_rcnn_coco模型对<庆余年>片段实现实例分割简单代码全实现 目录 利用pixellib库的instance_segmentation函 ...

  7. ajax 示例代码,Ajax的简单实用实例代码

    我将实现一个简单的Ajax页面无刷新进行用户验证案例: 效果如下图: 实现主要过程: 在UsersAction类中的checkUser方法中接收并验证前台的表单数据,针对不同情况,返回一个状态码cod ...

  8. php运行socket服务器,PHP_php简单socket服务器客户端代码实例,本篇文章分享一个简单的socket - phpStudy...

    php简单socket服务器客户端代码实例 本篇文章分享一个简单的socket示例,用php.实现一个接收输入字符串,处理并返回这个字符串到客户端的TCP服务. 产生一个 socket 服务端 /*文 ...

  9. ul、li列表简单实用代码实例

    利用ul和li可以实现列表效果,下面就是一个简单的演示. 代码如下: 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 ...

最新文章

  1. python 错误之SyntaxError: Missing parentheses in call to 'print'
  2. qt设置mysql最大连接数_MySQL服务器最大连接数的合理设置
  3. java null布局_Java Swing 绝对布局管理方法,null布局
  4. python开发工具排名-7款公认比较出色的Python IDE,你值得拥有!
  5. CCPlace,CCFlip*,CCToggleVisibility,CCMoveTo*,CCJumpTo*,CCScale*,CCRotate*,CCSkew*,fade,CCCardinalSp*
  6. Install/Remove of the Service Denied错误解决
  7. 中油即时通信电脑版_市场营销之即时通讯营销
  8. WPF中播放Flash动画
  9. codeforce Gym 101102A Coins (01背包变形)
  10. HDUOJ-----X问题
  11. discuz自动添加兼容html5标签的音乐播放器
  12. Kotlin的基本数据类型
  13. Tortoise SVN 汉化(官网下载汉化包)
  14. 邮递员算法问题之c++实现
  15. iOS及Android消息推送方案安装使用入门
  16. 1.3_VMare 16 虚拟机安装配置 CentOS-7-x86_64-DVD-2009+GUI+原生 Java 1.8+ibus+VMware Tools
  17. oracle重做日志论文,Oracle重做日志文件相关概念
  18. 敏捷测试--开源电子书连载
  19. ThreeJs法向贴图
  20. CentOS6 64bit系统一键快速安装VNC桌面实现Linux桌面

热门文章

  1. java爱暮色森林7.0js_我的世界手机版暮色森林js
  2. 微信小程序开发分销制度济南_花店微信小程序开发教程
  3. data后缀文件解码_封装ThinkPHP6.0通用文件上传
  4. 标杆课程采访补充问题
  5. TD8620手持数字特斯拉计一些基本的定标
  6. 太难了…期待一切都能赶快好起来吧
  7. 使用三防漆来保护PCB的敷铜面
  8. 怎么把页面内容填满一页_Excel表格太宽,一张纸打印不下,两张纸又空太多!怎么办?...
  9. PHP框架半透明,CSS设定一个元素半透明
  10. python集合中的元素不允许重复对吗_python字典中的值为什么不允许重复