JavaIO简单代码实例
最近又复习了下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简单代码实例相关推荐
- Redis:安装、配置、操作和简单代码实例(C语言Client端)[转]
我转的地址: http://blog.csdn.net/hj19870806/article/details/8724907 听说游戏的用的比较多,所以了解下. --以下为转载内容 Redis是一个开 ...
- HBase简单代码实例(Java)
这里我们用一个学生成绩表作为例子,对HBase的基本操作和基本概念进行讲解: 下面是学生的成绩表: name grad course:math course:art Tom 1 ...
- java练手代码大全手机版_java循环练习的简单代码实例
★打印九九乘法表 public class TestDemo { public static void main(String[] args){ for(int b=1;b<10;b++){ f ...
- TensorFlow个人学习(下载安装简单代码例子)
(由于项目最终决定使用TensorFlow,所以博客来总结学习TensorFlow) 下载和安装: 由于TensorFlow也官方支持windows了,省去了很多功夫,安装就更简单了. TensorF ...
- python读文件代码-简单了解Python读取大文件代码实例
这篇文章主要介绍了简单了解Python读取大文件代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 通常对于大文件读取及处理,不可能直接加载到内 ...
- CV之IS:利用pixellib库基于mask_rcnn_coco模型对《庆余年》片段实现实例分割简单代码全实现
CV之IS:利用pixellib库基于mask_rcnn_coco模型对<庆余年>片段实现实例分割简单代码全实现 目录 利用pixellib库的instance_segmentation函 ...
- ajax 示例代码,Ajax的简单实用实例代码
我将实现一个简单的Ajax页面无刷新进行用户验证案例: 效果如下图: 实现主要过程: 在UsersAction类中的checkUser方法中接收并验证前台的表单数据,针对不同情况,返回一个状态码cod ...
- php运行socket服务器,PHP_php简单socket服务器客户端代码实例,本篇文章分享一个简单的socket - phpStudy...
php简单socket服务器客户端代码实例 本篇文章分享一个简单的socket示例,用php.实现一个接收输入字符串,处理并返回这个字符串到客户端的TCP服务. 产生一个 socket 服务端 /*文 ...
- 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 ...
最新文章
- python 错误之SyntaxError: Missing parentheses in call to 'print'
- qt设置mysql最大连接数_MySQL服务器最大连接数的合理设置
- java null布局_Java Swing 绝对布局管理方法,null布局
- python开发工具排名-7款公认比较出色的Python IDE,你值得拥有!
- CCPlace,CCFlip*,CCToggleVisibility,CCMoveTo*,CCJumpTo*,CCScale*,CCRotate*,CCSkew*,fade,CCCardinalSp*
- Install/Remove of the Service Denied错误解决
- 中油即时通信电脑版_市场营销之即时通讯营销
- WPF中播放Flash动画
- codeforce Gym 101102A Coins (01背包变形)
- HDUOJ-----X问题
- discuz自动添加兼容html5标签的音乐播放器
- Kotlin的基本数据类型
- Tortoise SVN 汉化(官网下载汉化包)
- 邮递员算法问题之c++实现
- iOS及Android消息推送方案安装使用入门
- 1.3_VMare 16 虚拟机安装配置 CentOS-7-x86_64-DVD-2009+GUI+原生 Java 1.8+ibus+VMware Tools
- oracle重做日志论文,Oracle重做日志文件相关概念
- 敏捷测试--开源电子书连载
- ThreeJs法向贴图
- CentOS6 64bit系统一键快速安装VNC桌面实现Linux桌面
热门文章
- java爱暮色森林7.0js_我的世界手机版暮色森林js
- 微信小程序开发分销制度济南_花店微信小程序开发教程
- data后缀文件解码_封装ThinkPHP6.0通用文件上传
- 标杆课程采访补充问题
- TD8620手持数字特斯拉计一些基本的定标
- 太难了…期待一切都能赶快好起来吧
- 使用三防漆来保护PCB的敷铜面
- 怎么把页面内容填满一页_Excel表格太宽,一张纸打印不下,两张纸又空太多!怎么办?...
- PHP框架半透明,CSS设定一个元素半透明
- python集合中的元素不允许重复对吗_python字典中的值为什么不允许重复