IO流基本操作
第一种分法:.输入流2.输出流
第二种分法:.字节流2.字符流
第三种分法:.节点流2.处理流
////////////////////////////////////////////////////////////////////////////字节流: InputStream 的子类是 FileInputStream;
InputStream :int read(byte[]b,int off,int len)从第几位读,读几个,返回读取的个数
OutputStream 的子类是FileOutputStream
OutputStream :void write(byte[]b,int off,int len)
public static void main(String args[]){
FileInputStream in = null;
FileOutputStream out = null;
try {
in = new FileInputStream("e:/from.txt");//输入流(从文件读数据,即数据输入到程序里)
out = new FileOutputStream("e:/to.txt");//输出流(写入文件数据,即数据输出到文件里)
byte[] buffer =new byte[];//字节数组,用来存放读取的数据
int num = in.read(buffer, , buffer.length);//从第0位读取,读from.txt文件的 buffer.length个,放进buffer内
out.write(buffer, , num);//read方法返回读取的个数
//out.write(buffer, 0, 2);//从0位开始,把buffer数组的2个字节写进to.txt文件里
for(int i = ;i<buffer.length;i++){
System.out.print(buffer[i]);
}
String s = new String(buffer);//转换成原来的字符
s= s.trim();//trim方法:去掉首尾空格和空字符,中间的空格不去掉
System.out.print(s);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally{
try {
in.close();
out.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
} 读取大文件:
public static void main(String args[]) {
FileInputStream in = null;
FileOutputStream out = null;
int a = ;
try {
in = new FileInputStream("e:/from.txt");//输入流(从文件读数据,即数据输入到程序里)
out = new FileOutputStream("e:/to.txt");//输出流(写入文件数据,即数据输出到文件里)
byte[] buffer =new byte[];//字节数组,用来存放读取的数据
while(true){ a++;
System.out.print(a);
int num = in.read(buffer, , buffer.length);//从第0位读取,读from.txt文件的 buffer.length个,放进buffer内
out.write(buffer, , num);//read方法返回读取的个数
if(num == -){//返回-1,说明读取完毕
break;
}
} } catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally{
try {
in.close();
out.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} ////////////////////////////////////////字符流:读写文件时,以字符为基础
字节输入流:Reader 的子类是FileReader
int read(char [] c,int off,int len)
字节输出流:Writer 的子类是FileWriter
void write(char [] c,int off,int len) public static void main(String args[]) { FileReader reader =null;
FileWriter writer = null;
try{
reader = new FileReader("E:/from.txt");
writer = new FileWriter("e:/to.txt"); char [] buffer = new char[];
int num = reader.read(buffer, , buffer.length);
writer.write(buffer, , num);
for(int i = ;i<num;i++){
System.out.print(buffer[i]);
}
}
catch(Exception e){
System.out.print(e);
}
finally{
try{
reader.close();
writer.close();
}
catch(Exception e){
System.out.print("success!!!");
}
}
}
/////////////////////////////////////////////////一次性读取一行数据
public static void main(String args[]) { FileReader fileReader = null;
BufferedReader bufferedReader = null;
try{
fileReader = new FileReader("e:/from.txt");
bufferedReader = new BufferedReader(fileReader);
String line = null;
while(true){
line = bufferedReader.readLine();
if(line == null){
break;
}
System.out.println(line);
}
}
catch(Exception e){
System.out.println(e); }
finally{
try{
bufferedReader.close();
fileReader.close();
}
catch(Exception e){
System.out.println(e);
} }
IO流基本操作的更多相关文章
- 分享知识-快乐自己:IO流基本操作
点我参考常用API: IO图解: 相关理论: 流的概念和作用: 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将 ...
- 黑马程序员_<<IO流基本操作(Writer,Reader)>>
--------------------ASP.Net+Android+IOS开发..Net培训.期待与您交流! -------------------- 1.概述 硬盘之间的文件的传输,硬盘中文件的 ...
- Java之IO流概述和File基本操作
IO流图解 IO(in / out)流的分类 流向: 输入流 读取数据 输出流 写出数据 数据类型: 字节流 一个字节占8位, 以一个字节为单位读数据 八大数据类型所占字节数: byte(1), ...
- 黑马程序员——【Java基础】——Java IO流
---------- android培训.java培训.期待与您交流! ---------- 一.IO概述 1.IO:是Input.Output的缩写. 2.特点: (1)用于处理设备间的数据传输. ...
- java中的IO流
Java中的IO流 在之前的时候我已经接触过C#中的IO流,也就是说集中数据固化的方式之一,那么我们今天来说一下java中的IO流. 首先,我们学习IO流就是要对文件或目录进行一系列的操作,那么怎样操 ...
- Java基础---IO(一)---IO流概述、字符流、字节流、流操作规律
第一讲 IO概述 概述 1.IO流:即InputOutput的缩写. 2.特点: 1)IO流用来处理设备间的数据传输. 2)Java对数据的操作是通过流的方式. 3)Java用于操作流的对象都 ...
- java基础知识——网络编程、IO流
IO流 字节流:处理字节数据的流对象,计算机中最小数据单元就是字节.InputStream OutputStream 字符流:字符编码问题,将字节流和编码表封装成对象就是字符流.Reader Writ ...
- Java中的IO流(四)
上一篇<Java中的IO流(三)>把IO流中的文件及目录操作的对象File类记录了一下,本篇把本不属性IO流但又和IO流有关系的一个对象作一下记录,此对象本属于集合框架里的一个子集,即Pr ...
- Java io流详解二
原文地址https://www.cnblogs.com/xll1025/p/6418766.html 一.IO流概述 概述: IO流简单来说就是Input和Output流,IO流主要是用来处理设备之间 ...
随机推荐
- C# PPT Operator
来自:http://blog.csdn.net/lxzh12345/article/details/47047491 最近在写一个工具,设计到将界面内容到处到PPT中,且导出的内容能够编辑.网上搜了很 ...
- jQuery修改class属性和CSS样式
jQuery修改class属性和CSS样式 class属性修改 类属性即class属性,规定类名. 用类选择器规定样式的时候,需要为元素指定类名,即class属性的值. 注意每个HTML元素只有一个c ...
- iOS 直播-实现后台录音并推流
iOS 直播-实现后台录音并推流 从一个月前开始开始接收公司的直播类app.到今天为止测试都已接近尾声,但是产品哥哥加了一个要求,就是在app进入后台后也实时保证录音并且推流. 刚听到这个的时候我也是 ...
- GIT命令行的使用
新手了解 有不对的地方指点下 首先, 了解下什么是GIT,GIT是一款开元的分布式版本控制工具, 在世界上的所有分布式版本控制工具中,GIT是最简单,最流行,同时也是最常用的 相比于其他版本的控制工具 ...
- iOS 实现转盘的效果
效果 #import "ViewController.h" @interface ViewController () @property (weak, nonatomic) IBO ...
- IOS RunLoop浅析 三
经过两篇的介绍我想对RunLoop应该有了简单的了解,至少不至于一无所知. 在这篇我想对“CFRunLoopObserverRef”做一下简单的补充. 在补充之前先说一下. 在现在的开发中已经很少见到 ...
- sublime text 乱码生成.dump问题的解决方法
title: sublime text 乱码生成.dump问题的解决方法 tags: sublime text,sublime text 3,.dump,乱码 grammar_cjkRuby: tru ...
- svn报错:“Previous operation has not finished; run 'cleanup' if it was interrupted“ 的解决方法
今天改完代码提交时,提交接近完成但窗口还未关闭电脑蓝屏了.夏天来了,电脑比人还怕热啊~~~ 心里咯噔一下,估计svn又会出一些莫名其妙的问题了. 果然,待电脑重启后开eclipse,文件还是新增状 ...
- ORA-27125: unable to create shared memory segment
平台环境 : Oracle Linux Server release 5.7 x86_64 数据库版本 : Oracle Database 10g Enterprise Edition Rel ...
- IIS不能下载ini文件
1.打开IIS. 2.选择站点或者存放*.ini文件的目录,右键菜单中选择属性. 3.选择“HTTP头”选项卡. 4.点击“MINE类型”. 5.点击“新建”. 6.这是跳出一个对话框,在“扩展名”一 ...