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流主要是用来处理设备之间 ...
随机推荐
- Linux查看CPU和内存使用情况(转)
在系统维护的过程中,随时可能有需要查看 CPU 使用率,并根据相应信息分析系统状况的需要.在 CentOS 中,可以通过 top 命令来查看 CPU 使用状况.运行 top 命令后,CPU 使用状态会 ...
- JQuery的ajax
JQuery-AJAX: jQuery load() 方法是简单但强大的 AJAX 方法. $(selector).load(URL,data,callback);(这三个参数可以随意设置几个) @ ...
- 从零开始学Python第一周:Python基础(上)
Python语法基础(上) 一,Python的变量 (1)创建变量 变量的含义:存储信息的地方 创建变量并赋值 x = 1 print x x = 123 #再次赋值 print x (2)使用变量 ...
- web项目知识整理
一.div居中 1.margin:auto 2.left:50%:margin-left:div宽度的一半 二.一般处理程序操作session 引using System.Web.SessionSta ...
- 把普通对象转换成json格式的对象
1.什么叫做JSON?JSON只是一种数据格式(它不是一种新的数据类型) var obj = {name: "中国", age: 5000};//->普通格式的对象 var ...
- 使用javascript和canvas画月半弯
使用javascript和canvas画月半弯,月半弯好浪漫!浏览器须支持html5 查看效果:http://keleyi.com/a/bjad/8xqdm0r2.htm 以下是代码: <!do ...
- iframe高度自适应
前两天在网上看到了一道面试题,问iframe高度自适应的问题.发现自己之前几乎没有关注过iframe的问题,所以在这里记录一下. 原题目是: 页面A的域名是:http://www.taobao.com ...
- CSS3过渡详解-遁地龙卷风
第二版 0.环境准备 (1)过渡需要浏览器的支持,使用这些属性要加上浏览器厂商的前缀,我用的chrome49已经不需要前缀了, -o- Opera -webkit- Safari.Chrome -mo ...
- xp
微软MSDN Windows XP Professional下载 Windows XP Professional 简体中文 (最原始版本,无SP)[505.63MB] 文件名:CN_WINXP_PRO ...
- IOS开发之Bug--iOS7View被导航栏遮挡问题的解决
在实际开发中,遇到在UITextView的frame等于当前控制器的View的frame的情况下,然后运行的时候,发现控制器的Frame的高度y值会从导航条的位置64变化到0. 导致UITextVie ...