IO流的一些小Demo

来源:互联网 发布:杰拉米格兰特体测数据 编辑:程序博客网 时间:2024/04/29 13:47

1.FileReaderDemo

   作用:读取文件到控制台

   代码:

<span style="font-size:24px;">public class Demo  {/** * @param args */public static void main(String[] args) throws Exception{  //创建一个文件读取流对象,和指定名称的文件相关联。//要保证该文件是已经存在的,如果不存在,会发生异常FileNotFoundExceptionFileReader fr = new FileReader("Demo.java");//调用读取流对象的read方法。//read():一次读一个字符。而且会自动往下读。int ch = 0;while((ch=fr.read())!=-1){System.out.print((char)ch);}fr.close();}}</span>
第二种方式:通过字符数组来读.

<span style="font-size:24px;">class FileReaderDemo2 {public static void main(String[] args) throws IOException{FileReader fr = new FileReader("demo.txt");//定义一个字符数组。用于存储读到字符。//该read(char[])返回的是读到字符个数。char[] buf = new char[1024];int num = 0;while((num=fr.read(buf))!=-1){System.out.println(new String(buf,0,num));}fr.close();}}</span>
-------------------------------------------------------------------------------------------------------------------
2.文件复制.

复制的原理:
其实就是将C盘下的文件数据存储到D盘的一个文件中。


步骤:
1,在D盘创建一个文件。用于存储C盘文件中的数据。
2,定义读取流和C盘文件关联。
3,通过不断的读写完成数据存储。
4,关闭资源。


代码:

class CopyText {public static void main(String[] args) throws IOException{copy_2();}public static void copy_2(){FileWriter fw = null;FileReader fr = null;try{fw = new FileWriter("Demo_copy2.txt");fr = new FileReader("Demo.java");char[] buf = new char[1024];int len = 0;while((len=fr.read(buf))!=-1){fw.write(buf,0,len);}}catch (IOException e){throw new RuntimeException("读写失败");}finally{if(fr!=null)try{fr.close();}catch (IOException e){}if(fw!=null)try{fw.close();}catch (IOException e){}}}//从C盘读一个字符,就往D盘写一个字符。public static void copy_1()throws IOException{//创建目的地。FileWriter fw = new FileWriter("Demo_copy1.txt");//与已有文件关联。FileReader fr = new FileReader("Demo.java");int ch = 0;while((ch=fr.read())!=-1){fw.write(ch);}fw.close();fr.close();}}
复制图片

/*复制一个图片思路:1,用字节读取流对象和图片关联。2,用字节写入流对象创建一个图片文件。用于存储获取到的图片数据。3,通过循环读写,完成数据的存储。4,关闭资源。*/import java.io.*;class  CopyPic{public static void main(String[] args) {FileOutputStream fos = null;FileInputStream fis = null;try{fos = new FileOutputStream("c:\\2.bmp");fis = new FileInputStream("c:\\1.bmp");byte[] buf = new byte[1024];int len = 0;while((len=fis.read(buf))!=-1){fos.write(buf,0,len);}}catch (IOException e){throw new RuntimeException("复制文件失败");}finally{try{if(fis!=null)fis.close();}catch (IOException e){throw new RuntimeException("读取关闭失败");}try{if(fos!=null)fos.close();}catch (IOException e){throw new RuntimeException("写入关闭失败");}}}}




0 0
原创粉丝点击