IO 以及其应用
//导入要用的类, 就相当于C语言中的#include
import java.io.*;
class Test{
public static void main(String args []){
//声明输入流引用
FileInputStream fis = null ;
FileOutputStream fos = null ;
try{
//生成一个代表输入流的对象
fis = new FileInputStream("e:/java/Java4Android/code/learn10/from.txt"); //这里地址一定用'/'
fos = new FileOutputStream("e:/java/Java4Android/code/learn10/to.txt");
//生成一个字节数组,用于承接读取到的字节(字节i/o)
byte[] b = new byte[1000];
//调用read方法读取数据 int read(首地址,开始读入的地址,要读入的长度);-->返回值为一共读取的字节个数
int temp = fis.read(b , 0 , b.length); //用temp来接收写入字符的个数,方便输出到文件中
fos.write(b , 0 , temp);
for(int i=0 ; i<b.length ; i++){
System.out.print(b[i]+" ");
}
System.out.println("");
//生成一个字符串对象
String s = new String(b);
//输出,由于数组本身有很多个0元素,所以会打印出多余的空字符
System.out.println(s);
//用trim方法可以去掉字符串的首尾空格和空字符
s.trim();
System.out.println(s);
}
catch(Exception e){
e.printStackTrace();
System.out.print(e);
}
}
}
// io.write()方法,会将原来的内容删除,从而写进新的内容
--------------------------------------------------------------
复制文本文件程序
import java.io.*;
import java.util.Scanner;
class FileCopy{
public static void main(String args []){
FileInputStream fis = null;
FileOutputStream fos = null;
// String addressFrom = "E:/java/Java4Android/code/learn10/review/from.txt";
// String addressTo = "E:/java/Java4Android/code/learn10/review/to.txt";
Scanner in = new Scanner(System.in);
System.out.println("\n请输入源文件地址: (例如E:/java/Java4Android/code/learn10/review/文件名.txt)");
String addressFrom = in.nextLine();
System.out.println("\n请输入目标文件地址: (例如E:/java/Java4Android/code/learn10/review/文件名.txt)");
String addressTo = in.nextLine();
try{
System.out.println("\n--------------\n文件正在复制中...");
fis = new FileInputStream(addressFrom);
fos = new FileOutputStream(addressTo);
byte[] copyTxt = new byte[1024];
while(true){
int countLength = fis.read(copyTxt , 0 , copyTxt.length);
if(countLength == -1)
break;
fos.write(copyTxt , 0 , countLength);
}
System.out.println("\n文件复制已经完成!\n请查看复制后文件\n"+addressTo);
}
catch(Exception e){
System.out.println("\n--------------\n找不到目录,文件复制失败!!\n");
System.out.println("错误信息如下:\n");
e.printStackTrace();
}
finally{
try{
fis.close();
fos.close();
}
catch(Exception e){
e.printStackTrace();
}
System.out.println("\n ------------------程序作者:应天成 2015年2月2日");
}
}
}