File f =
new
File(
"d:/LOLFolder/LOL.exe"
);
System.out.println(
"当前文件是:"
+f);
//文件是否存在
System.out.println(
"判断是否存在:"
+f.exists());
//是否是文件夹
System.out.println(
"判断是否是文件夹:"
+f.isDirectory());
//是否是文件(非文件夹)
System.out.println(
"判断是否是文件:"
+f.isFile());
//文件长度
System.out.println(
"获取文件的长度:"
+f.length());
//文件最后修改时间
long
time = f.lastModified();
Date d =
new
Date(time);
System.out.println(
"获取文件的最后修改时间:"
+d);
//设置文件修改时间为1970.1.1 08:00:00
f.setLastModified(
0
);
//文件重命名
File f2 =
new
File(
"d:/LOLFolder/DOTA.exe"
);
f.renameTo(f2);
System.out.println(
"把LOL.exe改名成了DOTA.exe"
);
// 以字符串数组的形式,返回当前文件夹下的所有文件(不包含子文件及子文件夹)
f.list();
// 以文件数组的形式,返回当前文件夹下的所有文件(不包含子文件及子文件夹)
File[]fs= f.listFiles();
// 以字符串形式返回获取所在文件夹
f.getParent();
// 以文件形式返回获取所在文件夹
f.getParentFile();
// 创建文件夹,如果父文件夹skin不存在,创建就无效
f.mkdir();
// 创建文件夹,如果父文件夹skin不存在,就会创建父文件夹
f.mkdirs();
// 创建一个空文件,如果父文件夹skin不存在,就会抛出异常
f.createNewFile();
// 所以创建一个空文件之前,通常都会创建父目录
f.getParentFile().mkdirs();
// 列出所有的盘符c: d: e: 等等
f.listRoots();
// 刪除文件
f.delete();
// JVM结束的时候,刪除文件,常用于临时文件的删除
f.deleteOnExit();
当不同的介质之间有数据交互的时候,JAVA就使用流来实现。
数据源可以是文件,还可以是数据库,网络甚至是其他的程序
比如读取文件的数据到程序中,站在程序的角度来看,就叫做输入流
输入流: InputStream
输出流:OutputStream
数据源可以是文件,还可以是数据库,网络甚至是其他的程序
比如读取文件的数据到程序中,站在程序的角度来看,就叫做输入流
输入流: InputStream
输出流:OutputStream
关于流的关闭建议在finally或者try()中这是一种叫try-with-resources的方式,从JDK7开始支持的技术。
经常接触的编码方式有如下几种:
ISO-8859-1 ASCII 数字和西欧字母
GBK GB2312 BIG5 中文
UNICODE (统一码,万国码)
ISO-8859-1 ASCII 数字和西欧字母
GBK GB2312 BIG5 中文
UNICODE (统一码,万国码)
缓存字符输入流 BufferedReader 可以一次读取一行数据
PrintWriter 缓存字符输出流, 可以一次写出一行数据
有的时候,需要立即把数据写入到硬盘,而不是等缓存满了才写出去。 这时候就需要用到flush