---------------------- android培训、java培训、期待与您交流! ----------------------
javaIO流:
java流分为两种流:1.字节流可以用于读写2进制文件以及任何类型的文件(InputStream,OutputStream)
2.可以用于对读写文件文本文件 但不能操作二进制文件(Reader,Writer)
代码:
**
* 功能:使用FlieInputStream(读取内存上的数据)
* 输入流(字节流)
* 作者:白潇
*/
package com.text5;
import java.io.*;
public class Text3 {
public static void main(String args[]){
//得到一个文件对象 对它进行操控
File f=new File("d:\\synchronized.txt");
FileInputStream fil=null;
try {
//因为File没有读写的能力 所有要用到FileInputStream
fil=new FileInputStream(f);
//定义一个字节数组 相当是一个缓存
byte arr[]=new byte[1024];
//得到实际得出的字节数
int n=0;
//循环读取
while((n=fil.read(arr))!=-1){
//把字节转化成 String
String s=new String(arr,0,n);
System.out.println(s);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
//运行完关闭文件流
try {
fil.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
/**
* 功能:FileOutputStream使用(将数据写入内存)
* 输出流(字节流)
* 作者:白潇
*/
package com.text5;
import java.io.*;
import java.util.*;
public class Text4 {
public static void main(String args[]){
File f=new File("d:\\synchronized.txt");
Scanner scanner=new Scanner(System.in);
FileOutputStream fil=null;
try {
fil=new FileOutputStream(f);
System.out.println("请输入您要添加的数据");
String s1=scanner.next();
fil.write(s1.getBytes());
fil.write(s1.getBytes());
} catch (Exception e) {
e.printStackTrace();
}finally{
//关闭文件流
try {
fil.close();
} catch (IOException e) {
e.printStackTrace();
} } }}
/**
* 功能:用字节流来对文件控制
* 作者:白潇
*/
package com.text5;
import java.io.*;
import java.util.*;
public class Text6 {
public static void main(String args[]){
File f=new File("D:\\synchronized.txt");
//定义一个字节输入流
FileReader fi=null;
//定义一个字节输出流
FileWriter ft=null;
try {
fi=new FileReader(f);
ft=new FileWriter("f:\\sychronized.txt");
char arr[]=new char[1024];
int n=0;
while((n=fi.read(arr))!=-1){
ft.write(arr);
}
} catch (Exception e) {
e.printStackTrace();
}finally{
try {
fi.close();
ft.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} }
}
为了提高效率java有一种缓冲字符流
输入流:BufferedReader, 输出流:BufferedWriter
注意要使用缓冲字符流时要先声明字符流
代码:
/**
* 功能:用BufferedReader(字符输入流)和BufferedWriter(字符输出流)
* 作者:白潇
*/
package com.text5;
import java.io.*;
import java.util.*;
public class Text7 {
public static void main(String args[]) {
BufferedReader br=null;
BufferedWriter bw=null;
try {
FileReader fil=new FileReader("d:\\Text.txt");
br=new BufferedReader(fil);
FileWriter fri=new FileWriter("e:\\Text.txt");
bw=new BufferedWriter(fri);
String s="";
while((s=br.readLine())!=null){
//因为BufferedReader不会返回换行符所以要加\t\n来换行
bw.write(s+"\r\n");
}
} catch (Exception e) {
e.printStackTrace();
}finally{
try {
br.close();
bw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
---------------------- android培训、java培训、期待与您交流! ---------------------