内容:流的分类,文件写入(字节输出流),异常处理,获取一个文件夹下的特定文件集合

字节流的抽象基类:InputStream,OutputStream
字符流的抽象基类:Reader,Writer
由这四个类派生出来的子类名称都是以父类名作为子类名的后缀。如:InputStream的子类FileInputStream,Reader的子类FileReader

###################################################
文件写入,字节输出流

private static final String LINE_SEPARATOR = System.getProperty("line.separator");         //获取系统换行符,用于换行
public static void main(String[] args) throws IOException
{
System.out.println(LINE_SEPARATOR);
String s = "花"+LINE_SEPARATOR+"awegadjgaw";
File dir = new File("abc");
if(!dir.exists()){
dir.mkdir();
}
FileOutputStream fos = new FileOutputStream("abc\\ai.txt",true); //true表示可以续写
fos.write(s.getBytes()); //写入信息
System.out.println("ok");
fos.close(); }

##########异常处理

public static void main(String[] args)
{
FileOutputStream fos = null; //在try外面声明,在finally里面才能关闭
try{
fos = new FileOutputStream("abc"+File.separator+"ai.txt");
fos.write("aiqing".getBytes());
}
catch(IOException e){
}
finally {
if(fos != null){ //释放资源前要判断,是否为空
try{
fos.close();
}
catch(IOException e){
throw new RuntimeException(e);
}
}
}
}

##########################################练习
获取一个文件夹下的特定文件集合:使用到了过滤器

public static void main(String[] args)
{
File f = new File("f:"+File.separator+"eclipse_javaCode"+File.separator+
"day21"+File.separator+"day19");
// System.out.println(f);
List<File> list = getList(f,".java");
for(File file:list){
System.out.println(file);
}
}
private static List<File> getList(File dir, String string)
{
List<File> list = new ArrayList<File>();
FileFilter filter = new FileFilterByEnding(string);
getFileList(dir,list,filter);
return list;
}
private static void getFileList(File dir, List<File> list, FileFilter filter)
{
//获取文件数组
File[] files = dir.listFiles();
//遍历文件数组
for(File file:files){
if(file.isDirectory()){
getFileList(file, list, filter);
}
else{
if(filter.accept(file)){
list.add(file);
}
}
}
}

含主函数

public class FileFilterByEnding implements FileFilter
{
private String suffix;
public FileFilterByEnding(String suffix) {
super();
this.suffix = suffix;
}
@Override
public boolean accept(File pathname)
{
return pathname.getName().endsWith(suffix);
}
}

过滤器类

021.2 IO流——字节输出流的更多相关文章

  1. IO流-字节输出流OutputStream异常处理

    package it.cast_01; import java.io.FileNotFoundException; import java.io.FileOutputStream; import ja ...

  2. 021.4 IO流——字节、字符桥梁(编码解码)

    默认使用的就是gbk编码,这里的例子改成了utf8编码 写入—编码 private static void writeText() throws IOException { FileOutputStr ...

  3. IO流 - 字节输入输出流,文件的复制

    IO流 I:input - 输入(读取),eg:把硬盘的内容读取到内存 O: output - 输出(写入) eg:把内存中的东西写入硬盘保存 流:数字(字符/字节) 一般1个字符=2Byte,1By ...

  4. Java中的IO流之输出流|乐字节

    大家好,乐字节小乐又来了.上一篇给大家带来的是:Java中的IO流之输入流|乐字节,本文将继续讲述IO流之输出流.   一.输出流 1.抽象类:OutputStream 和 Writer Output ...

  5. IO流 -字符输入输出流,以及异常处理方法

    字符输入流 java.io.Reader: 字符输入流的顶层抽象父类 共性的成员方法: int read() 读取单个字符,并返回. int read(char[] cbuf) 将字符读入数组. ab ...

  6. java_缓冲流(字节输出流)

    缓冲流分为: 字节缓冲流:BufferedIntputSream(字节缓冲输出流),BufferdOutputStream(字节缓冲输入流) 字符缓冲流:BufferedReader(字符输入缓冲流) ...

  7. 021.9 IO流 流总结

    ###################################################################################IO流的规律总结:解决的问题,开发 ...

  8. 021.1 IO流——File类

    ########################################IO流:    IO:用于处理设备上的数据的技术.设备:内存,硬盘,光盘    流:系统资源,Windows系统本身就可 ...

  9. 021.3 IO流——字节流-FileInputStream读取字节

    内容:文件读取方法,读取方法例子,read(buf)方法中buf的取值,字节流缓冲区对象—提高读取速度/// 文件读取方法:fis.read(),fis.read(buf),具体看例子 例子:文件读取 ...

随机推荐

  1. 【转】Emgu CV on C# (五) —— Emgu CV on 局部自适应阈值二值化

    局部自适应阈值二值化 相对全局阈值二值化,自然就有局部自适应阈值二值化,本文利用Emgu CV实现局部自适应阈值二值化算法,并通过调节block大小,实现图像的边缘检测. 一.理论概述(转载自< ...

  2. spring cloud连载第一篇之bootstrap context

    1. Spring Cloud Context: Application Context Services(应用上下文服务) 1.1 The Bootstrap Application Context ...

  3. Ruby(1):入门

    安装: 一般来说linux会自动装ruby,可以通过: ruby -v 来查看ruby版本 直接使用ruby命令的话,是用来执行ruby文件的.如果要打开交互式ruby解释器.只需要在控制台输入:ir ...

  4. JAVA练手--String

    package tet; public class kk { public static void main(String[] args) { //1. { String Stra = "1 ...

  5. TypeScript 乱糟笔记

    数组头上插一个值. var arr: Array<String> = ['a', 'b', 'c'];arr.unshift('d'); object删除元素. var obj: Obje ...

  6. 【转载】2012年七个免费ASP空间分享-支持ASP、ASP.NET的空间

    文章目录 Azure空间 Appharbor 7host空间 Brinkster Jabry空间 总结后的话 这篇免费ASP空间的总结文章本来标题已经拟好了是:2012年十大免费ASP空间分享,但是当 ...

  7. Web安全相关(三):开放重定向(Open Redirection)

    简介 那些通过请求(如查询字符串和表单数据)指定重定向URL的Web程序可能会被篡改,而把用户重定向到外部的恶意URL.这种篡改就被称为开发重定向攻击. 场景分析 假设有一个正规网站http://ne ...

  8. Storage 的使用

    //是否不支持storage isNoStorage: function(){ if(typeof(Storage)=="function" || window.sessionSt ...

  9. MongoDB 安装成为Windows服务

    使用以下命令将MongoDB安装成为Windows服务. mongod --logpath d:\data\logs.txt --dbpath d:\data --directoryperdb --s ...

  10. Android dialog圆角显示及解决出现的黑色棱角

    最近在开发一个天气预报的app,看到一个比较不错友情提示,如下:                怎么样,看起来比原始的dialog好看吧.好了,做法也许有很多,我介绍下我的做法吧, 首先,我第一个想到 ...