JAVA——常见IO流的使用
来源:互联网 发布:笑气在淘宝怎么搜 编辑:程序博客网 时间:2024/04/28 15:18
import java.io.*;/** * * @author KevinWu 文件操作示例 * */public class FileHandle {public static void main(String[] args) {// TODO Auto-generated method stubFileHandle myFileHandle = new FileHandle();myFileHandle.readTxtFile("a.txt");myFileHandle.copyTxtFile("a.txt", "b.txt");myFileHandle.copyNonTxtFile("111.pdf", "222.pdf");myFileHandle.outPut("测试输出字符串", "test.txt");myFileHandle.creatFolder(".", "我是新建的文件夹");// 路径给点,表示当前目录}/** * 方法作用:读取文本文件的方法 参数:待读取文件的路径 */public void readTxtFile(String file_dir) {// 创建并实例化文件对象File myFile = new File(file_dir);// 判断该对象对应的路径下是不是存在这个文件和是不是文件类型if (!myFile.exists() || !myFile.isFile()) {System.out.println("文件不存在或不是文件类型");} else {// 新建FileReader对象FileReader myFileReader = null;// 新建BufferedReader对象BufferedReader myBufferedReader = null;try {// 实例化FileReader对象myFileReader = new FileReader(myFile);// 实例化BufferedReader对象myBufferedReader = new BufferedReader(myFileReader);// 定义一个字符串来接收文件的一行内容String str = "";while ((str = myBufferedReader.readLine()) != null) {// 把读取到的内容输出System.out.println(str);}} catch (IOException e) {e.printStackTrace();} finally {// 在这里关闭缓冲流和输入流,注意要一层一层关if (myBufferedReader != null) {try {myBufferedReader.close();} catch (IOException e) {e.printStackTrace();}}if (myFileReader != null) {try {myFileReader.close();} catch (IOException e) {e.printStackTrace();}}}}}/** * 方法作用:复制文本文件方法 参数1:待复制的文件的路径 参数2:复制目标的文件的路径 */public void copyTxtFile(String f_dir, String t_dir) {// 创建并实例化文件对象File fFile = new File(f_dir);File tFile = new File(t_dir);// 先判断源文件存不存在和是不是文件类型,就不考虑文件是否可读的问题了if (!fFile.exists() || !fFile.isFile()) {System.out.println("文件不存在或者不是文件类型");} else {// 创建FileReader对象FileReader myFileReader = null;// 创建FileWriter对象FileWriter myFileWriter = null;// 创建BufferedReader和BufferedWriter对象BufferedReader myBufferedReader = null;BufferedWriter myBufferedWriter = null;try {// 实例化FileReader和BufferedReader对象myFileReader = new FileReader(fFile);myBufferedReader = new BufferedReader(myFileReader);// 实例化FileWriter和BufferedWriter对象myFileWriter = new FileWriter(tFile);myBufferedWriter = new BufferedWriter(myFileWriter);// 用一个字符串接受数据String str = "";while ((str = myBufferedReader.readLine()) != null) {myBufferedWriter.write(str);// 换行myBufferedWriter.newLine();// 刷新缓冲流myBufferedWriter.flush();}} catch (IOException e) {e.printStackTrace();} finally {if (myBufferedWriter != null) {try {myBufferedWriter.close();} catch (IOException e) {e.printStackTrace();}}if (myFileWriter != null) {try {myFileWriter.close();} catch (IOException e) {e.printStackTrace();}}if (myBufferedReader != null) {try {myBufferedReader.close();} catch (IOException e) {e.printStackTrace();}}if (myFileReader != null) {try {myFileReader.close();} catch (IOException e) {e.printStackTrace();}}}}}/** * 方法作用:复制非文本文件方法 参数1:待复制文件的路径 参数2:复制目标文件的路径 */public void copyNonTxtFile(String f_dir, String t_dir) {File fFile = new File(f_dir);File dFile = new File(t_dir);if (!fFile.exists() || !fFile.isFile()) {System.out.println("文件.....");} else {FileInputStream fis = null;FileOutputStream fos = null;BufferedInputStream bis = null;BufferedOutputStream bos = null;try {fis = new FileInputStream(fFile);fos = new FileOutputStream(dFile);bis = new BufferedInputStream(fis);bos = new BufferedOutputStream(fos);byte b[] = new byte[1024];int length;while ((length = bis.read(b)) != -1) {bos.write(b, 0, length);bos.flush();}} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();} finally {if (bos != null) {try {bos.close();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}if (fos != null) {try {fos.close();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}if (bis != null) {try {bis.close();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}if (fis != null) {try {fis.close();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}}}/** * 方法作用:把字符串内容输出到文本文件 参数1:待输出的字符串 参数2:目标文件路径 */public void outPut(String dstStr, String f_dir) {File fFile = new File(f_dir);try {FileWriter myFileWriter = new FileWriter(fFile, true);// 设置为追加PrintWriter pw = new PrintWriter(myFileWriter);pw.println(dstStr);// 方便起见直接在这里关闭了pw.close();myFileWriter.close();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}/** * 创建文件夹 参数1:待创建的文件夹的路径 参数2:待创建的文件夹的名称 */public void creatFolder(String f_dir, String f_name) {File fDir = new File(f_dir + "/" + f_name);if (fDir.exists()) {System.out.println("文件夹已经存在");} else {fDir.mkdirs();// 创建文件夹,如果父目录不存在一并创建}}}
0 0
- JAVA——常见IO流的使用
- Java中常见的IO流及其使用
- Java中常见的IO流及其使用
- Java中IO流常见的几种流
- Java io 流:常见的io类组合形式
- Java IO操作——合并流SequenceInputStream的使用
- Java IO流的使用
- Java的io流使用
- Java-IO流的使用
- java IO流的使用
- java的io流使用
- java中的io使用常见规则总结
- java基础之IO流的常见流
- Java io Writer 中的常见的方法:
- java 文件io的常见操作
- JAVA中使用File类批量重命名文件及java.io.File的常见用法
- java.io常见流/java.io.file文件操作大全
- 黑马程序员——IO流缓冲区常见使用及自定义
- 抽象类与接口(对比总结)
- 输出亲朋字符串
- P15 (**) Replicate the elements of a list a given number of times.
- linux查看各种硬件信息的方法
- iOS多线程之GCD学习
- JAVA——常见IO流的使用
- 45度斜角地图菱形坐标转换
- POJ 1797 Heavy Transportation
- linux下手动build spark1.6.0
- 匿名内部类那点事
- 哈夫曼树结构体数组生成方法
- 游戏地图中两点坐标相对的方向(角度)判断
- 斜45度地图简介、坐标系转换以及数据碰撞
- JavaScript中数组类型的常用操作方法以及属性