`
xiaomanetjava
  • 浏览: 51439 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

IO体系结构之二

阅读更多

      讲多了大家也看不明白,下面我来代码解析,这些代码都是已经运行觉得

 

 

挺有用,拿来共享一下……想要更多了解的,加我的QQ:944841552

 

 

 

代码片段1

package IOTest;

 

import java.io.*;

/**

 * 输入输出流测试

 * @author 黄端修改

 */

public class BaseIO {

//程序主方法

public static void main(String args[])throws Exception{

BaseIO bi=new BaseIO();

//读取我们当前正在编写的这个java源文件

String fileName="src\\IOTest\\BaseIO.java";

String result=bi.readFile2String(fileName);

System.out.println(result);

}

/**

 * 读取指定文件名的内容,做为字行串返回

 * @param fileName:文件名

 * @return :读到的内容做为字符串返回

 * @throws IOException:可能会抛出IO异常

 */

public String readFile2String(String fileName)throws java.io.IOException{

//构造输入流对象,做为一个Inpustream对象使用

//因为创建的对象是Inpustream的子类的对象,我们用父类型变量引用,方便统一使用

java.io.InputStream ins=new java.io.FileInputStream(fileName);

//通过文件对象创建输入流

//File srcFile=new File(fileName);

//java.io.InputStream ins=new java.io.FileInputStream(srcFile);

//根据流中的字节长度,创建一个byte数组,保存读到的数据

        int len= ins.available();

byte[] contentByte=new byte[len];

//将流中的数据读到数组中

ins.read(contentByte);

//将byte数组转换为字符串

String s=new String(contentByte);

return s;

}

}

代码片段2

package IOTest;

import java.io.*;

/**

 * 输入输出流测试

 * @author 黄端修改

 */

public class BaseIOv1 {

//程序主方法

public static void main(String args[])throws Exception{

BaseIOv1 bi=new BaseIOv1();

//读取我们当前正在编写的这个java源文件

String srcName="src\\IOTest\\BaseIOv1.java";

//要复制到的目标文件

String bakName="src\\IOTest\\BaseIOv1test.java.bak";

boolean result=bi.copyFile(srcName,bakName);

System.out.println("复制结果:"+result);

}

/**

 * 简单文件复制方法

 * @param  srcFile:源文件名

 * @param  destFile:目标文件名

 * @throws IOExcepton :IO异常

 * @return:是否cp成功

 */

     public boolean  copyFile(String srcFile,String destFile)throws IOException{

     //创建从源文件来的输入流 

     InputStream ins=new FileInputStream(srcFile);

     //缓冲输出流对象:如果文件中己有内容则覆盖原来内容

     OutputStream out=new FileOutputStream(destFile);

     int i=0;

     //从输入流中读取一个字节

     while((i=ins.read())!=-1){

     //将这个字节写入到输出流

      out.write(i);

     }

     ins.close();

     //清空输出流的缓存并关闭

     out.flush();

     out.close();

     return true;

}

}

代码片段3

package IOTest;

import java.io.*;

/**

 * 输入输出流测试

 * @author 黄端修改

 */

public class BaseIOv2 {

//程序主方法

public static void main(String args[])throws Exception{

BaseIOv2 bi=new BaseIOv2();

//读取我们当前正在编写的这个java源文件

String srcName="src\\IOTest\\BaseIOv2.java";

//要复制到的目标文件

String bakName="C:\\Documents and Settings\\Administrator\\桌面\\BaseIOv1test.java.bak";

boolean result=bi.bufferedCopyFile(srcName,bakName);

System.out.println("复制结果:"+result);

}

/**

 * 使用缓冲流拷文件测试

 * @param  srcFile:源文件名

 * @param  destFile:目标文件名

 * @throws IOExcepton :IO异常

 * @return:是否cp成功

 */

    public boolean  bufferedCopyFile(String srcFile,String destFile)throws IOException{

     //创建从源文件来的输入流 

     InputStream ins=new FileInputStream(srcFile);

     //构造输入缓冲流

     BufferedInputStream bis=new BufferedInputStream(ins);

     //构造缓冲输出流对象

     OutputStream out=new FileOutputStream(destFile);

     BufferedOutputStream bos=new BufferedOutputStream(out);

     int i=0;

     while((i=bis.read())!=-1){

      //从缓冲输入中读,写出到缓冲输出

      bos.write(i);

     }

     ins.close();

     bos.flush();

     bos.close();

     return true;}}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics