----------- android培训、java培训、java学习型技术博客、期待与您交流! ------------
流是一串连续不继的数据的集合,就像水管里的水流,在水管的一端一点一点地供水,而在水管的另一端看到的是一股连续不断的水流。数据写入程序可以是一段一段地向数据流管道中写入数据,这些数据段会按先向顺序形成一个长的数据流。对数据的读取程序来说,看不到数据流在写入时的分段情况,每次可以读取其中的任意长度的数据,但只能先读取前面的数据后,再读取后面的数据。不管写入时是将数据分多次写入,还是作为一个整体一次写入,读取时的效果都是完全一样的。
InputStreamReader(输入流)
OutputStreamReader(输出流)
bufferedReader 是使得整个输入流或输出流可以一行一行的输出或输入 bufferedReader.readLine();
字节输入流:
public class Fileput {
public static void main(String[] args) {
int b=0;
FileInputStream filein=null;
try{
filein=new FileInputStream("D:\\android---woreplace\\first\\src\\text\\Fileput.java");
}
catch(FileNotFoundException e){
System.out.print("找不到文件");
System.exit(-1);
}
try{
long num=0;
while((b=filein.read())!=-1){
System.out.print((char)b);
num++;
}
filein.close();
System.out.print(num);
}
catch(IOException e){
System.out.print("找不到文件");
System.exit(-1);
}
}
}
字节输出流:
public class Fileput {
public static void main(String[] args) {
int b=0;
FileInputStream filein=null;
FileOutputStream fileout=null;
try{
filein=new FileInputStream("D:\\android---woreplace\\first\\src\\text\\Fileput.java");
fileout=new FileOutputStream("D:\\jiao.txt");
}
catch(FileNotFoundException e){
System.out.print("找不到文件");
System.exit(-1);
}
try{
long num=0;
while((b=filein.read())!=-1){
System.out.print((char)b);
fileout.write(b);
num++;
}
filein.close();
fileout.close();
System.out.print(num);
}
catch(IOException e){
System.out.print("找不到文件");
System.exit(-1);
}
}
}
字符输入流:
public class Fileput {
public static void main(String[] args) {
FileReader filereader=null;//字符输入流
int b=0;
try{
filereader=new FileReader("D:\\android---woreplace\\first\\src\\text\\Fileput.java");
while((b=filereader.read())!=-1){
System.out.print((char)b);
}
filereader.close();
}
catch(FileNotFoundException e){
System.out.print("找不到文件");
System.exit(-1);
}
catch(IOException e){
System.out.print("复制错误 ");
System.exit(-1);
}
}
}
字符输出流:
public class Fileput {
public static void main(String[] args) {
FileReader filereader=null;//字符输入流
FileWriter filewriter=null;//字符输出流
int b=0;
try{
filereader=new FileReader("D:\\android---woreplace\\first\\src\\text\\Fileput.java");
filewriter=new FileWriter("D:\\char.txt");
while((b=filereader.read())!=-1){
System.out.print((char)b);
filewriter.write(b);
}
filereader.close();
}
catch(FileNotFoundException e){
System.out.print("找不到文件");
System.exit(-1);
}
catch(IOException e){
System.out.print("复制错误 ");
System.exit(-1);
}
}
}
缓冲字节输入流:
public abstract class Text {
public static void main(String[] args) {
try{
FileInputStream in=new FileInputStream("D:\\android---woreplace\\first\\src\\text\\Fileput.java");
BufferedInputStream bf=new BufferedInputStream(in);
System.out.print((char)bf.read());
}
catch(IOException e){
e.printStackTrace();
}
}
}
缓冲字符输入/出流:
public abstract class Text {
public static void main(String[] args) {
try{
BufferedReader bw=new BufferedReader(new FileReader("D:\\android---woreplace\\first\\src\\text\\Text.java"));
BufferedWriter bf=new BufferedWriter(new FileWriter("D:\\char.txt"));
String s=null;
for(int i=0;i<10;i++){
s=String.valueOf(Math.random());
bf.write(s);
bf.newLine();
}
bf.flush();
while((s=bw.readLine())!=null){
System.out.println(s);
}
bf.close();
bw.close();
}
catch(IOException e){
e.printStackTrace();
}
}
}
转换流:
public abstract class Text {
public static void main(String[] args) {
try{
//转换字符、字节
OutputStreamWriter out=new OutputStreamWriter(new FileOutputStream("D:\\jiao.txt"));
out.write("jiao");
System.out.println(out.getEncoding());
out.close();
out=new OutputStreamWriter(new FileOutputStream("D:\\jiao.txt",true),"ISO8859_1");//再写入数据
out.write("hao");
System.out.println(out.getEncoding());
out.close();
catch(IOException e){
e.printStackTrace();
}
}
}
数据流:
public abstract class Text {
public static void main(String[] args) {
ByteArrayOutputStream baos=new ByteArrayOutputStream();//分配一个字节数组输出流
DataOutputStream data=new DataOutputStream(baos);//嵌套一个数据流便于输入输出各种字节
try{
data.writeDouble(Math.random());//写入一个double字节数
data.writeBoolean(true);//写入一个人bool类型的字节数
ByteArrayInputStream baos1=new ByteArrayInputStream(baos.toByteArray());
DataInputStream data1=new DataInputStream(baos1);
System.out.println(data1.available());
System.out.println(data1.readDouble());
System.out.println(data1.readBoolean());
}
catch(IOException e){
e.printStackTrace();
}
}
}
print流
public abstract class Text {
public static void main(String[] args) {
String s = null;
BufferedReader br = new BufferedReader(
new InputStreamReader(System.in));
try {
FileWriter fw = new FileWriter
("d:\\char.txt", true); //Log4J
PrintWriter log = new PrintWriter(fw);
while ((s = br.readLine())!=null) {
if(s.equalsIgnoreCase("exit")) break;
System.out.println(s.toUpperCase());
log.println("-----");
log.println(s.toUpperCase());
log.flush();
}
log.println("==="+new Date()+"===");
log.flush();
log.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
----------- android培训、java培训、java学习型技术博客、期待与您交流! ------------