您的位置:首页 > 编程语言 > Java开发

JAVA学习日记每天进步一点点之I/O

2019-05-06 16:34 501 查看

一个流被定义为一个数据序列。输入流用于向源读取数据,输出流用于向目标写数据。

FileInputStream和FileOutputStream

前者流用于从文件读取数据,后者用于创建一个文件并向文件中写数据。
前者的一些方法:
后者的一些方法:

File类

创建文件夹:
mkdir():创建一个文件夹,成功则返回true,失败则返回false。
mkdirs():创建一个文件夹和他的所有父文件夹。
代码如下:

String dirname="/tmp/user/java/bin";
File b=new File(dirname);
b.mkdirs();

读取文件夹:
isDirectory方法:判断File对象是否为目录,是则返回True,否则为False。

String dirname="/java/workplace/StingTest";
File b=new File(dirname);
if(b.isDirectory()) {
System.out.println("目录"+dirname);
String[] a=b.list();
for(int i=0;i<=a.length;i++) {
File f=new File(dirname+"/"+a[i]);
if(f.isDirectory()) {
System.out.println("目录"+dirname+"/"+a[i]);
}
else {
System.out.println("文件"+dirname+"/"+a[i]);
}
}
}
else System.out.println("不是幕录");

删除文件
File.delete()方法:值得注意的但删除某个目录的时候,必须确保该目录下没有其他文件才可以正确删除。因此自己写一个deleteFolder()来删除文件夹下所有的文件。参考菜鸟教程:

public static void main(String[] args) {
File f=new File("/tmp");
deteleFolder(f);

}

private static void deteleFolder(File f) {
// TODO Auto-generated method stub
File a[]=f.listFiles();
if(a!=null) {
for(int i=0;i<=a.length;i++) {
File b=new File("/tmp"+"/"+a[i]);
if(b.isDirectory()) {
deteleFolder(b);
}
else b.delete();
}
}
f.delete();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: