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. T-SQL查询语句(三):多表查询

    SQL查询语句<三>:多表查询 (也叫连接查询,此处为基于两个表的连接查询)如果一个查询需要对多个表进行操作就称为连接查询,连接查询的结果集或结果称为表之间的连接.连接查询实际上是通过各个 ...

  2. Winform 让跨线程访问变得更简单

    Winform 让跨线程访问变得更简单 前言 由于多线程可能导致对控件访问的不一致,导致出现问题.C#中默认是要线程安全的,即在访问控件时需要首先判断是否跨线程,如果是跨线程的直接访问,在运行时会抛出 ...

  3. bin文件和elf文件

    ELF文件格式是一个开放标准,各种UNIX系统的可执行文件都采用ELF格式,它有三种不同的类型: 可重定位的目标文件(Relocatable,或者Object File) 可执行文件(Executab ...

  4. 深入浅出学习Spring框架(四):IoC和AOP的应用——事务配置

    在前文 深入浅出学习Spring框架(一):通过Demo阐述IoC和DI的优势所在. 深入浅出学习Spring框架(三):AOP 详解 分别介绍了Spring的核心功能——IoC和AOP,光讲知识远远 ...

  5. [置顶] 遵循Java EE标准体系的开源GIS服务平台之二:平台部署

    传送门 ☞ 系统架构设计 ☞ 转载请注明 ☞ http://blog.csdn.net/leverage_1229 传送门 ☞ GoF23种设计模式 ☞ 转载请注明 ☞ http://blog.csd ...

  6. oralce 10g 官方认证的操作系统版本

    oralce 10g 官方认证的操作系统版本 Operating system x86              Red Hat Enterprise Linux AS/ES 3 (Update 4 ...

  7. ELK采集之nginx 之高德地图出城市IP分布图

    1.采用拓扑: 角色扮演: Agent:采用logstash,IP:192.168.10.7 Redis队列: IP:192.168.10.100 Indexer:logstash,IP:192.16 ...

  8. CentOS 7下安装X Window

    1.网上其他人都这么说: yum check-update yum groupinstall "X Window System" ... 但是运行yum groupinstall  ...

  9. Redmine管理项目3-调整用户显示格式

    在 Redmine 中新建用户时是这样的: 必须指定姓氏.名字,然后 Redmine 默认是按“名字 姓氏”这种方式显示用户.比如“张三”,会显示成“三张”……看起来好别扭啊. 怎么调整呢,参看 Re ...

  10. SDN理解:目录

    为什么? 最近一直在学习SDN方面的知识,本着"最好的学习就是分享"的精神,记录下本系列的文章,尝试更好地去理解SDN这一正当红的技术. 如何? SDN领域现在已经充斥了大量的公司 ...