1.用java自带的IO读写方法 官方API网站:http://docs.oracle.com/javase/7/docs/api/

2.Apache的Commons-io-2.4.jar中的方法,参考文档:http://commons.apache.org/proper/commons-io/javadocs/api-2.4/index.html

/*
* 用apache的ommons-io-2.4.jar的ileUtils类中的方法读写数据
* 常用方法请参考帮助文档
* */
public void readWriteCopyFile(){
File file1 = new File("c:/to.txt");
File file2 = new File("c:/to_new.txt");
try {
String input = FileUtils.readFileToString(file1,"gb2312");
System.out.println(input);
FileUtils.copyFile(file1, file2); } catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String fileName = "C:/to.txt";
File file = new File(fileName);
String fileContent = ""; fileContent +="Helloworld";
try {
FileUtils.writeStringToFile(file, fileContent, "gb2312");
} catch (IOException e) {
e.printStackTrace();
}
} /*
* 用apache的ommons-io-2.4.jar的ileUtils类中的方法读写数据
* */
public void URLToFileTest(){
try {
URL url = new URL("http://www.163.com"); File file = new File("c:\\163.html"); FileUtils.copyURLToFile(url, file);
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} /*
* 用apache的ommons-io-2.4.jar的ileUtils类中的方法读写url内容数据
* */
public void readURL() throws IOException{ InputStream in = new URL( "http://www.blogjava.net/ashutc/archive/2010/07/13/325933.html" ).openStream(); try { System.out.println( IOUtils.toString( in ) );
} finally {
IOUtils.closeQuietly(in);
} } /*
* 用apache的ommons-io-2.4.jar的ileUtils类中的方法读写url内容数据
* */
public void downTolocal(){ try {
InputStream in = new URL("http://img4.cache.netease.com/tech/2015/12/10/201512101531442cb6f_550.png").openStream(); byte [] gif = IOUtils.toByteArray(in);
//IOUtils.write(gif,new FileOutputStream(new File("c:/test.gif"))); //将字符串内容直接写到文件中
FileUtils.writeByteArrayToFile(new File("c:/test.png"),gif) ; //将字节数组内容写到文件中
System.out.println("done");
IOUtils.closeQuietly(in);
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} } /*
* 使用java自带的带有缓存区字节读写数据---提高读写速度
*
*/
public void RwByByteStream() { File fileIn = new File("D:/java.docx");
File fileOut = new File("D:/java_new.docx");
long before = System.currentTimeMillis();
FileInputStream fis = null;
FileOutputStream fos = null;
try {
fis = new FileInputStream(fileIn);
fos = new FileOutputStream(fileOut);
} catch (FileNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} BufferedInputStream bis = new BufferedInputStream(fis,100000); //设置缓冲区及大小
BufferedOutputStream bos = new BufferedOutputStream(fos,100000); //设置输出流缓冲区及大小
byte [] buffer = new byte[10000];
int l;
int num = 0;
try {
while((l=bis.read(buffer))!=-1){
bos.write(buffer, 0, l);
num++;
}
System.out.println(System.currentTimeMillis()-before+"ms");
System.out.println(num);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally{
try {
bos.close();
fos.close();
bis.close();
fis.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} } /*
* 使用java字符流读写数据
*
* */
public void RWByCharStream() { try {
//File file = new File("d:/java.txt");
FileInputStream fis = new FileInputStream("d:/java.txt");
FileOutputStream fos = new FileOutputStream("d:/java_new.txt",true);
InputStreamReader isr = new InputStreamReader(fis, "gb2312");
OutputStreamWriter osw = new OutputStreamWriter(fos, "gb2312");
char input[] = new char[100];
int l = 0;
while ((l = isr.read(input)) != -1) {
//String inputString = new String(input,0,l);
osw.write(input,0,l);
}
isr.close();
fis.close();
osw.close();
fos.close();
System.out.println("done"); } catch (FileNotFoundException e) {
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
} /*
* 使用java缓冲区字符流读写数据
*
* */
public void RWByBufferedCharStream() { try { //File file = new File("d:/java.txt");
FileInputStream fis = new FileInputStream("d:/java.txt");
FileOutputStream fos = new FileOutputStream("d:/java_new.txt",true); //加true表示追加写到这个文件中,否则覆盖此文件
InputStreamReader isr = new InputStreamReader(fis, "gb2312");
OutputStreamWriter osw = new OutputStreamWriter(fos, "gb2312"); BufferedReader br = new BufferedReader(isr); //设置缓冲区
BufferedWriter bw = new BufferedWriter(osw);
// PrintWriter pw = new PrintWriter(osw); String input;
while ((input = br.readLine()) != null) {
bw.write(input);
bw.newLine();
System.out.println(input);
// pw.println(input);
}
br.close(); //各流后打开的先关闭,先打开后关闭
bw.flush();
bw.close();
// pw.close();
isr.close();
fis.close();
osw.close();
fos.close();
System.out.println("done"); } catch (FileNotFoundException e) {
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} } }

IO流数据读写总结的更多相关文章

  1. Java API —— IO流(数据操作流 & 内存操作流 & 打印流 & 标准输入输出流 & 随机访问流 & 合并流 & 序列化流 & Properties & NIO)

    1.操作基本数据类型的流     1) 操作基本数据类型 · DataInputStream:数据输入流允许应用程序以与机器无关方式从底层输入流中读取基本 Java 数据类型.应用程序可以使用数据输出 ...

  2. C#常用IO流与读写文件

    .文件系统 ()文件系统类的介绍 文件操作类大都在System.IO命名空间里.FileSystemInfo类是任何文件系统类的基类:FileInfo与File表示文件系统中的文件:Directory ...

  3. C#常用IO流与读写文件 (转)

    源自https://www.cnblogs.com/liyangLife/p/4797583.html 谢谢 1.文件系统 (1)文件系统类的介绍 文件操作类大都在System.IO命名空间里.Fil ...

  4. 【原创】IO流:读写操作研究(输入流)

    默写代码(以下问题要求能默写,不翻书不百度) 输入 问题一:从文件abc.txt中读取数据到字节数组并打印出来. 分析:如果读取数据,首先第一个问题,数据有多少?如果数据量不确定,如果确定字节数组大小 ...

  5. JavaEE基础(二十二)/IO流

    1.IO流(序列流) 1.什么是序列流 序列流可以把多个字节输入流整合成一个, 从序列流中读取数据时, 将从被整合的第一个流开始读, 读完一个之后继续读第二个, 以此类推. 2.使用方式 整合两个: ...

  6. JavaEE基础(二十)/IO流

    1.IO流(IO流概述及其分类) 1.概念 IO流用来处理设备之间的数据传输 Java对数据的操作是通过流的方式 Java用于操作流的类都在IO包中 流按流向分为两种:输入流,输出流. 流按操作类型分 ...

  7. day20<IO流>

    IO流(IO流概述及其分类) IO流(FileInputStream) IO流(read()方法返回值为什么是int) IO流(FileOutputStream) IO流(FileOutputStre ...

  8. IO流简要总结

    IO流小总结 IO流的本质就是用于数据的传输,根据流的方向的不同,有输入流.输出流.根据数据类型的不同,又有字节流.字符流. 字节流 字节输入流   InputStream 字节输出流   Outpu ...

  9. day22<IO流+>

    IO流(序列流) IO流(序列流整合多个) IO流(内存输出流) IO流(内存输出流之黑马面试题) IO流(对象操作流ObjecOutputStream) IO流(对象操作流ObjectInputSt ...

随机推荐

  1. 使用C#开发ActiveX控件

    使用C#开发ActiveX控件(新) 前言 ActiveX控件以前也叫做OLE控件,它是微软IE支持的一种软件组件或对象,可以将其插入到Web页面中,实现在浏览器端执行动态程序功能,以增强浏览器端的动 ...

  2. MapXtreme IResultSetFeatureCollection

    最近使用MapXtreme做轨迹回放功能,做完之后感觉良好便交给同事测试使用.同事测试后发现第一次使用速度很快,然后越来越慢.出现这样的问题我们应该很容易第一个想到是资源暂用没有释放照成的,我便在关键 ...

  3. Yellow

    Yellow这首歌让我知道了yellow这个单词出了黄色的意思外,还有胆怯的,懦弱的意思~~~ 它是Coldplay 的歌曲,歌词很简单,但是有着莫名的忧伤感,值得一提的是这首歌的MV,一个长镜头给出 ...

  4. CF 322A Ciel and Dancing 好简单的题。。最喜欢水题了

    A. Ciel and Dancing time limit per test 1 second memory limit per test 256 megabytes input standard ...

  5. twemproxy接收流程探索——twemproxy代码分析正编

    在这篇文章开始前,大家要做好一个小小的心理准备,由于twemproxy代码是一份优秀的c语言,为此,在twemproxy的代码中会大篇幅使用c指针.但是不论是普通类型的指针还是函数指针,都可以让我们这 ...

  6. iOS中级篇 - dispatch_semaphore(信号量)的理解及使用

    理解这个概念之前,先抛出一个问题 问题描述: 假设现在系统有两个空闲资源可以被利用,但同一时间却有三个线程要进行访问,这种情况下,该如何处理呢? 没错,这里,我们就可以方便的利用信号量来解决这个问题. ...

  7. XAF-UI元素概述

    XAF框架会根据业务模型自动生成默认的UI.一般来说,您可以使用默认的用户界面,但如果它不符合您的要求,您可以自定义它.要做到这一点,你应该知道UI是由哪些元素组成的,以及你可以自定义什么元素,以实现 ...

  8. 前端 PC端兼容性问题总结

    1.如果图片加a标签在IE9-中会有边框 解决方案: img{border:none;} 2.rgba不支持IE8 解决方案:可以用 opacity  eg: opacity:0.7;/*FF chr ...

  9. Zookeeper 安装和配置

    单机模式 下载zookeeper的安装包之后, 解压到合适目录. 进入zookeeper目录下的conf子目录, 创建zoo.cfg: tickTime=2000 dataDir=/Users/app ...

  10. 【CSS学习笔记】a标签的四种伪类

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xht ...