InputStream是所有输入流的基类,FileInputStream是它的一个实现类,允许程序读取机器上面的文件
FileInputstream,FileOutputstream分别是由抽象类Inputstream和Outputstream继承来的,他们的源和目的地是以字节流的方式读取文件,键盘,鼠标,或者显示器.。
而byteArrayInputStream,byteArrayOutputStream的源和目的地是字节数组,即内存。FileInputstream的构造函数是FileInputstream(String filename)这样的话Fileinputstream流的源就是名字为filename的文件,而byteArrayInputStream的构造函数是byteArrayInputStream(byte []buf),这样的话byteArrayInputStream流的源就是名字为buf的字节数组。
用io读取一个文件.
public void readFileByCharteArray(String filepath) throws IOException {
BufferedReader br=new BufferedReader(new FileReader(filepath));
String str=null;
StringBuffer buf = new StringBuffer();
while((str=br.readLine())!=null){
buf.append(str);
buf.append("\r\n");
}
System.out.println(buf.toString());
br.close();
}
用io读一个文件,并显示出来
public static void main(String[] args)throws Exception
{
String path="d:\\aa.txt";
File file=new File(path);
FileInputStream fis=new FileInputStream(file);
InputStreamReader isr=new InputStreamReader(fis,"utf-8");
BufferedReader br=new BufferedReader(isr);
StringBuffer line=new StringBuffer();
String str=null;
File file1=new File("d:\\cc.txt");
FileOutputStream fos=new FileOutputStream(file1);
OutputStreamWriter osw=new OutputStreamWriter(fos,"utf-8");
BufferedWriter bw=new BufferedWriter(osw);
while((str=br.readLine())!=null){
line.append(str);
line.append("\n");
}
System.out.println(line);
bw.flush();
bw.close();
}
//创建一个文件夹
// Calendardate=Calendar.getInstance();
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
String name=
sdf.format(Calendar.getInstance().getTime());//date.gettime();//得到当前时间
File file=new File("c:/"+name);//创建文件夹
file.mkdir();//创建此抽象路径名指定的目录。
//在文件夹里面创建.txt文本
BufferedWriter bw=new BufferedWriter(new FileWriter(file+"/test.txt"));
FileWriter 是被修饰者 BufferedWriter 是修饰者 (都是使用字符流写文件)
上面这个加了一个缓冲,缓冲写满后在将数据写入硬盘 这样做极大的提高了性能
//也可以.你每写一个数据,硬盘就有一个写动作,性能极差
FileWriter ff=new FileWrite(file+”/test.txt”);
//在文本里面写字.
bw.write("i try it ok..haha very good");
bw.write("\n11111");
bw.write("\n22222");
bw.close();
//读取文本文件内容
BufferedReader bb=new BufferedReader(new FileReader(file+"/test.txt"));
String str="";
while((str=bb.readLine())!=null){
System.out.println(str);
}
//如何列出某个目录下的所有文件
File f=new File("C:\\");
File[] flists=f.listFiles();
for(int i=0;i<flists.length;i++){
if(flists[i].isDirectory()){
System.out.println("dirctory is---------------"+flists[i].getName());
}else
System.out.println("file is=="+flists[i].getName());
}