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流主要是用来处理设备之间 ...
随机推荐
- 更换Kali源让你更新更快
在2016.1版本kali-linux(也就是kali滚动更新版)更新慢解决办法: (此源为2.0版本)中科大kali滚动更新版源(即kali2.0源) #kali官方源 deb http://htt ...
- [moka同学笔记]Linux命令基本格式及目录处理命令
命令提示符 [root@localhost ~]# root:当前登录用户localhost:主机名~:当前所在的目录,此处为"家"目录#:root超级用户的提示符,如果是普通用户 ...
- java——获取从控制台输入的数据的方法
一.使用标准输入串System.in System.in.read(); //一次只读入一个字节数据,但是我们往往希望获得的是一个字符串或者一组数字 二.使用Scanner获得一个字符串或一组 ...
- (原)3.2 Zookeeper应用 - 数据的发布与订阅
本文为原创文章,转载请注明出处,谢谢 数据的发布与订阅 1.应用 服务端监听数据改变,客户端创建/更新节点数据,客户端提供数据,服务端处理 2.原理 客户端监控节点数据改变事件(例如配置信息,下图的c ...
- 深入理解和应用display属性(二)
四.inline-block 此类元素是inline + block的合体 1) margin和padding都有效:width和height都有效: .inline{ display: inline ...
- TouchPoint.js – 可视化展示 HTML 原型点击效果
TouchPoint.js 是一个用于 HTML 原型展示的 JavaScript 库(作为UX过程的一部分),通过视觉表现用户在屏幕上的点击.TouchPoint 是高度可定制,非常适合屏幕录制,用 ...
- Html之 IFrame使用,注意几点
0x01 iframe的跳出框架 0x02 iframe样式设置 0x03 iframe重置高度 1.首先来一个,跳出iframe的好方法,直接可以在Login.aspx页面使用. if (windo ...
- Android Studio安装配置、环境搭建详细步骤及基本使用
前言 Android Studio的安装配置及使用篇终于来啦~ 废话不多说,以下针对JDK正确安装(及其环境变量配置完毕,即Java开发环境下).Android Studio的安装,配置,以及创建工程 ...
- Attempt to insert non-property list object 报错原因
NSUserDefault 支持的存储类型有:NSString. NSNumber.NSDate. NSArray.NSDictionary.BOOL.NSInteger.NSFloat等系统定义的数 ...
- OC NSFileHandle(文件内容操作)
OC NSFileHandle(文件内容操作) 初始化 [NSFileHandle fileHandleForUpdatingAtPath:@"data.txt"]; //file ...