首页 > 代码库 > 21.java当中的IO
21.java当中的IO
- I/O操作的目标
- 从数据源当中读取数据,以及将数据写入到数据目的地当中
- I/O的流向
- 以java程序为参照物
- I/O的分类
- 第一种分法
- 输入流
- 输出流
- 第二种分法
- 字节流
- 字符流
- 第三种分法
- 节点流
- 处理流
- I/O当中的核心类
- 读取文件和写入文件的方法
- 核心类的核心方法
- read方法
//第一步,导入类
import java.io.*;
classTest{
publicstaticvoid main(String args []){
//声明输入流引用
FileInputStream fis = null;
try{
//生成代表输入流的对象
fis =newFileInputStream("D:/work/src/from.txt");
//生成一个字节数组
byte [] buffer =new byte[10];
//调用输入流对象的read方法,读取数据
fis.read(buffer,0,buffer.length);
for(int i =0; i < buffer.length; i++){
System.out.println(buffer[i]);
}
}
catch(Exception e){
System.out.println(e);
}
}
}
结果:
D:\work\src>javac Test.java
D:\work\src>java Test
97
98
99
100
0
0
0
0
0
0
- write方法
//第一步,导入类
import java.io.*;
classTest{
publicstaticvoid main(String args []){
//声明输入流引用
FileInputStream fis = null;
//声明输出流的引用
FileOutputStream fos = null;
try{
//生成代表输入流的对象
fis =newFileInputStream("D:/work/src/from.txt");
//生成代表输出流的对象
fos =newFileOutputStream("D:/work/src/to.txt");
//生成一个字节数组
byte [] buffer =new byte[10];
//调用输入流对象的read方法,读取数据
int temp = fis.read(buffer,0,buffer.length);
fos.write(buffer,0,temp);
//String a = new String(buffer);
//调用一个Strng对象的trim方法,将会去掉这个字符串
//的首位空格和空字符
//s = s.trim();
//System.out.println(s);
}
catch(Exception e){
System.out.println(e);
}
}
}
结果:
- 大文件的读写方法
//第一步,导入类
import java.io.*;
classTest{
publicstaticvoid main(String args []){
//声明输入流引用
FileInputStream fis = null;
//声明输出流的引用
FileOutputStream fos = null;
try{
//生成代表输入流的对象
fis =newFileInputStream("D:/work/src/from.txt");
//生成代表输出流的对象
fos =newFileOutputStream("D:/work/src/to.txt");
//生成一个字节数组
byte [] buffer =new byte[1024];
while(true){
//调用输入流对象的read方法,读取数据
int temp = fis.read(buffer,0,buffer.length);
if(temp ==-1){
break;
}
fos.write(buffer,0,temp);
}
//String a = new String(buffer);
//调用一个Strng对象的trim方法,将会去掉这个字符串
//的首位空格和空字符
//s = s.trim();
//System.out.println(s);
}
catch(Exception e){
System.out.println(e);
}
finally{
//捕获关闭IO流可能出现的异常
try{
fis.close();
fos.close();
}
catch(Exception e){
System.out.println(e);
}
}
}
}
- 字符流的使用方法
- 字符流:读写文件时,以字符流为基础
- 字节输入流:Reader <-- FileReader
- int read(char [ ] c,int off,int len)
//int writer(char [] c,int off,int len)
import java.io.*;
publicclassTestChar{
publicstaticvoid main(String args []){
FileReader fr = null;
FileWriter fw = null;
try{
fr =newFileReader("D:/work/src/from.txt");
fw =newFileWriter("D:/work/src/to.txt");
char[] buffer =newchar[100];
int temp = fr.read(buffer,0,buffer.length);
for(int i =0; i < buffer.length; i++){
System.out.println(buffer[i]);
}
}
catch(Exception e){
System.out.println(e);
}
//finally
}
}
结果:
D:\work\src>javac TestChar.java
D:\work\src>java TestChar
a
b
c
d
(后面为95个空字符)
- 字节输出流:Writer <-- FileWriter
- int writer(char [ ] c,int off,int len)
//int writer(char [] c,int off,int len)
import java.io.*;
publicclassTestChar{
publicstaticvoid main(String args []){
FileReader fr = null;
FileWriter fw = null;
try{
fr =newFileReader("D:/work/src/from.txt");
fw =newFileWriter("D:/work/src/to.txt");
char[] buffer =newchar[100];
int temp = fr.read(buffer,0,buffer.length);
fw.write(buffer,0,temp);
}
catch(Exception e){
System.out.println(e);
}
finally{
try{
fr.close();
fw.close();
}
catch(Exception e){
System.out.println(e);
}
}
}
}
来自为知笔记(Wiz)
21.java当中的IO
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。