标签:writer user creat str 抽象 关闭 getc 管道 字符流
注:1字节代表1个英文单词存储的数据大小,一个汉字占两字节
对二进制文件进行读写操作的FileInputStream和FileOutputStream。 对内存缓冲区的字节数组进行读写操作的ByteArrayInputStream和ByteArrayOutputStream 对线程管道进行读写操作的PipedInputStream和PipedOutputStream
过滤流类:在将数据实际写入到输出流之前对输出进行预处理,或者在读取数据之后对输入进行后期处理。都是FileInputStream和FileOutputStream的子类。
对象流:包括ObjectInputStream和ObjectOutputStream
Student stu=new Student();
FileOutputStream fos=new FileOutputStream(new File("f:\\user.txt"));
ObjectOutputStream os=new ObjectOutputStream(fos);
os.writeObject(stu);
os.close();
将实例化的Student类的对象stu写出
合并:ScquenceInputStream类可以实现两个文件的合并操作。
字符流用于处理文本文件,所有字符流都继承于抽象类Reader和Writer两个父类。均是以字符为单位执行操作。
使用输入缓冲流BufferedIuputStream写入数据:
File file=new File("f:\\test.txt");//找到文件,再覆盖
byte[] b=new byte[(int) file.length()];
BufferedInputStream bis=new BufferedInputStream(new FileInputStream(file));
int i=0;
while((i=bis.read(b))!=-1){
System.err.println(new String(b,"gbk"));
使用BufferedReader读取文件:
File file=new File("f:\\test3.txt");
BufferedReader brd=new BufferedReader(new FileReader(file));
System.out.println(brd.readLine());//读一行
int i=0;
while((i=brd.read())!=-1){
System.err.print((char)i);
使用FileInputStream读取文件:
File file=new File("f:","int.java");
FileInputStream fis=new FileInputStream(file);
//读取文件
System.out.println(file.length());
int n=0;
byte[] b=new byte[(int) file.length()];
while((n=fis.read(b))!=-1){//读取完毕
System.out.println(new String(b,0,n));
System.out.println();
使用FileReader读取文件:
File file=new File("f:\\test3.txt");
FileReader fr=new FileReader(file);
int n=0;
while((n=fr.read())!=-1){
System.out.print((char)n);
使用FileWrite写入数据:
//File file=new File("f:\\test3.txt");//直接在f盘中创建一个test.txt
FileWriter fw=new FileWriter(new File("f:\\test3.txt"),true);//true代表可以继续追加,不覆盖
String s="明天星期3\r\n";
//s.getBytes();//将字符形式转换成Byte形式
fw.write(s);//写入
fw.close();
文件的复制输入输出流:
File file=new File("f:\\1.jpg");//找到文件,否则就新建一个文件
File file2=new File("f:\\test2.jpg");//移到test2.jpg中
FileInputStream fis=new FileInputStream(file);//将文件1.jpg输入流导入
FileOutputStream fos=new FileOutputStream(file2);//将文件test2.jpg输出流导出
int n=0;
while((n=fis.read())!=-1){//开始读取
fos.write(n);//开始写入
}
fis.close();
fos.flush();
fos.close();
上传头像
File file=new File(student.getHeadPortrait());
FileInputStream fis=new FileInputStream(file);
File file2=new File("f:\\demo\\"+student.name+".jpg");//f:\\文件夹名称为:固定格式,进入哪个文件夹
if(file2.exists()){//存在,看Api
file2.createNewFile();//创建文件
}
FileOutputStream fos=new FileOutputStream(file2);
int n=0;
while((n=fis.read())!=-1){//开始读取
fos.write(n);//开始写入
}
fis.close();
fos.flush();
fos.close();
1.建立流 2.操作流 3.关闭流
File file=new File("f:\\test3.txt");
File file=new File("f:","test3.txt");
1.file.mkdir();创建目录 file.getCanonicalPath()获取当前路径
File file=new File("f://demo");//在f盘中创建demo的文件
file.mkdir();//创建目录
System.out.println(file.getCanonicalPath());//获取当前路径
2.boolean createNewFile():创建文件;boolean exists():判断文件或目录是否存在
File file2=new File("f:\\demo\\"+student.name+".jpg");//f:\\文件夹名称为:固定格式,进入哪个文件夹
if(file2.exists()){//存在,看Api
file2.createNewFile();
}
标签:writer user creat str 抽象 关闭 getc 管道 字符流
原文地址:http://www.cnblogs.com/taoge1989/p/6111536.html