Java输入输出流代码示例
来源:互联网 发布:fresh玫瑰面膜 知乎 编辑:程序博客网 时间:2024/05/22 00:18
写在前面:
该博文是为文章http://blog.csdn.net/whardl_yu/article/details/53223807补充的代码示例。主要为输入输出流的一些基础操作。
一、
功能:将指定的TXT文件复制一份。
类和方法:FileReader/FileWriter;read()/writer()
说明:1、为减少代码量,我选择直接抛出异常,而不是用try-catch-finally包裹(本文代码都是这样),实际操作中建议使用try-catch-finally包裹,close方法放在finally语句中。
2、TXT文件为纯文本文件,建议使用字符流。
代码:
public void copyTXT1() throws IOException { FileReader reader = null; FileWriter writer = null; // 打开文件,创建流对象 reader = new FileReader("h://file.txt"); writer = new FileWriter("h://file2.txt"); // 处理流对象 int read;//存放read方法的返回值 while ((read = reader.read()) != -1) {// 返回值为-1, 表示到达流的末尾,读取结束。 writer.write(read); } // 在finally中关闭流对象,释放资源 if (reader != null) { reader.close(); } if (writer != null) { writer.close(); }
二、
功能:将指定的TXT文件复制一份。
类和方法:FileReader/FileWriter; read(char[] c)/writer(char[] c)
说明:与一所用的方法不同。
代码:
public void copyTXT2() throws IOException { FileReader fr = null; FileWriter fw = null; //打开文件,创建流对象 fr = new FileReader("h://file.txt"); fw = new FileWriter("h://file3.txt"); //处理数据 char[] cbuf = new char[1024]; while(fr.read(cbuf) != -1) { fw.write(cbuf); } //关闭流,释放资源。 fr.close(); fw.close(); }
三、
功能:将指定的TXT文件复制一份。
类和方法:FileReader/FileWriter/BufferedReader/BufferedWriter ; readLine()/writer()
说明:用缓冲流包装。
代码:
public void copyTXT3() throws IOException { FileReader fr = new FileReader("h://file2.txt"); //使用BufferedReader包装FileReader BufferedReader br = new BufferedReader(fr); FileWriter fw = new FileWriter("h://file4.txt"); //使用BufferedWriter包装FileReader BufferedWriter bw = new BufferedWriter(fw); String line;//存放readLine方法的返回值 while((line = br.readLine()) != null) {//readLine方法读到末尾的返回值为null,不是-1! System.out.println(line); bw.write(line); //readLine方法的返回值不包含任何终止符,因此要写入一个行分隔符。 bw.newLine(); } //关闭输出流前记得刷新 bw.flush(); //此时只用关闭缓冲流即可,被包装的流会自动关闭。 br.close(); bw.close(); }
四、
功能:在指定TXT文件后面追加文字。
类:FileWriter
代码:
public static void main(String[] args) throws IOException { FileWriter f = new FileWriter("H://file.txt", true);//true表示在文本最后追加 f.write("yuyuyu"); f.close(); }
五、
功能:将指定的MP3文件复制一份。
类和方法:FileInputStream/FileOutputStream ;read(byte[] b)/writer(byte[] b)
说明:音频文件不是纯文本文件,不可以使用字符流。如果使用字符流,最后得到的文件不可用。
代码:
public void copyMp3() throws IOException{ FileInputStream fis = null; FileOutputStream fos = null; //打开文件,创建流对象 fis = new FileInputStream("h://欢乐颂.mp3"); fos = new FileOutputStream("h://欢乐颂2.mp3"); //处理数据 byte[] bbuf = new byte[1024]; while(fis.read(bbuf) != -1){// 返回值为-1, 表示到达流的末尾,读取结束。 fos.write(bbuf); } //关闭输入输出流,释放资源 fis.close(); fos.close(); }
六、
功能:将指定的MP3文件复制一份。
类和方法:FileInputStream/FileOutputStream/BufferedOutputStream/BufferedInputStream ;read(byte[] b)/writer(byte[] b)
说明:用缓冲流包装。
代码:
public void copyMP3() throws IOException { //创建流,并进行包装 FileInputStream fis = new FileInputStream("h://欢乐颂.mp3"); BufferedInputStream bis = new BufferedInputStream(fis); FileOutputStream fos = new FileOutputStream("h://欢乐颂3.mp3"); BufferedOutputStream bos = new BufferedOutputStream(fos); byte[] bbuf = new byte[1024]; while(bis.read(bbuf) != -1) { bos.write(bbuf); } //刷新 bos.flush(); //关闭流 bos.close(); bis.close(); }
七、
功能:创建指定编码格式的文件。
类和方法:FileOutputStream/OutputStreamWriter/BufferedWriter
代码:
public void creatFile() throws IOException { FileOutputStream fs = new FileOutputStream("h://newFile.txt"); OutputStreamWriter osw = new OutputStreamWriter(fs, "utf-8"); BufferedWriter bw = new BufferedWriter(osw); bw.write("大家好!"); bw.flush(); bw.close(); }
八、
功能:用指定的编码格式写入文件。
类和方法:FileInputStream/InputStreamReader/BufferedReader
代码:
public void openFile() throws IOException { FileInputStream fis = new FileInputStream("h://newFile.txt"); InputStreamReader isr = new InputStreamReader(fis, "utf-8"); BufferedReader br = new BufferedReader(isr); String s; while((s = br.readLine()) != null) { System.out.println(s); } br.close(); }
- Java输入输出流代码示例
- “Java输入输出”的课堂示例代码
- java输入输出流实例代码
- java:输入输出示例
- python基本输入输出代码示例
- java ---输入输出流操作(代码整理)
- java输入输出代码片段
- JAVA学习笔记-基本输入输出示例
- Java输入输出重定向代码
- JAVA IO输入输出流部分代码的入门应用
- Java reflection代码示例
- java代码示例(Hashtable)
- Java反射示例代码
- java TCP 示例代码
- JAVA线程-示例代码
- java死锁代码示例
- Java IO示例代码
- java NIO代码示例
- 基于Maven的Springboot+Mybatis+Druid+Swagger2+mybatis-generator框架环境搭建
- 马踏棋盘(马的遍历问题)
- Redis数据类型和基本操作
- STM32标准库中DMA配置详解 (标准库版)
- python 过滤文本中的HTML标签
- Java输入输出流代码示例
- Javascript 判断是否存在函数的方法
- 邀请您访问安卓巴士 - 安卓开发 - Android开发 - 安卓 - 移动互联网门户
- 梯度下降+代码
- oracle中update语句的性能优化
- 润乾报表实现参数模板校验的解决方案---参数监听类
- 使用Gson解析json数据
- python 写入 excel
- Adapter.notifyDataSetChanged的作用