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

Java File类与简单IO流

2017-04-01 17:55 176 查看
学习心得
一、专业课
1File
File f1 =new File("c:\\abc\\1.txt");
//File(String parent,String child)
File f2 =new File("c:\\abc","2.txt");
//File(File parent,String child)
File f3 =new 			File("c:"+File.separator+"abc");//separator 跨平台分隔	符
File f4 =new File(f3,"3.txt");
System.out.println(f1);//c:\abc\1.txt

1.1创建方法:
1.booleancreateNewFile()
不存在返回true存在返回false

2.booleanmkdir() 创建目录

3.booleanmkdirs() 创建多级目录

1.2删除方法:
1.booleandelete()

2.boolean deleteOnExit() 文件使用完成后删除

1.3判断方法
1.booleancanExecute()判断文件是否可执行

2.booleancanRead()判断文件是否可读

3.booleancanWrite() 判断文件是否可写

4.booleanexists() 判断文件是否存在

5.booleanisDirectory()

6.boolean isFile()

7.booleanisHidden()

8.boolean isAbsolute()判断是否是绝对路径文件不存在也能判断

1.4获取方法
1.String getName()

2.StringgetPath()

3.String getAbsolutePath()

4.StringgetParent()//如果没有父目录返回null

5.longlastModified()//获取最后一次修改的时间

6.longlength()

7.boolean renameTo(File f)

8.File[]liseRoots()//获取机器盘符

9.String[]list()

10.String[] list(FilenameFilter filter)

1.5遍历文件
* windows
盘符\\
* Linux/unix盘符//

//遍历单层目录
String[]liStrings = file.list();
for(Stringstring: liStrings){
System.out.println(string);
}
File[]files = file.listFiles();
for(Filef: files ){
System.out.println(f.getName());
}

1.6过滤文件
//文件过滤
File[]files2 = file.listFiles(new FileFilter() {

@Override
publicboolean accept(File pathname) {
//TODO Auto-generated method stub
//只输出.txt文件
returnpathname.getName().endsWith(".txt");
}
});

1.7删除非空目录的文件
//删除多层文件
publicstatic void deleteFiles(File file) {

if(file.exists()) {
if(file.isDirectory()) {
File[]files = file.listFiles();
for(Filefile2 : files){
deleteFiles(file2);
}
}
file.delete();
}

}

1.8移动文件
Filefile=
newFile("D:"+File.separator+"dd.txt");
Filefile2=
newFile("D:"+File.separator+"pd.txt");
//重命名
if(file.renameTo(file2)) {
System.out.println("重命名成功");
}

2.IO

按照数据流的方向不同可以分为:输入流和输出流。
按照处理数据单位不同可以分为:字节流和字符流。
按照实现功能不同可以分为:节点流和处理流。
2.1FileInputStream
//单个字节
Filefile
= new File("d:"+File.separator+"pd.txt");
FileInputStreamfis = null;
try{
fis = new FileInputStream(file);
//int len = fis.read();//一个字节的读,len为ASCII码值
// System.out.println(len);
int len = 0;
while (-1 != (len = fis.read())) {
System.out.println((char)len);
}
fis.close();//记得close
//自定义缓冲区
//自定义缓冲区
byte[]bytes = new byte[1024];
intlen = 0;
while(-1 != (len = fis.read(bytes))) {
System.out.println(len);
System.out.println(newString(bytes, "gbk"));
System.out.println(newString(bytes));
System.out.println(newString(bytes, 0, len));
}

2.2FileOutputStream
// true允许追加
FileOutputStreamfos = new FileOutputStream(file,true);
// FileOutputStreamfos = new FileOutputStream(file);
/* fos.write('品');
fos.write('b'); //一个一个字节写
*/

intlen = 0 ;
Stringstring = "waa,you are wonderful";
byte[]bs = string.getBytes();
fos.write(bs);
fos.flush();
fos.close();
2.3拷贝文件
publicstatic void copy() throws Exception {
Filesrc = new File("d:"+File.separator+"src.jpg");
Filedest = new File("e:"+File.separator+"dest.jpg");
FileInputStreamfis = null;
FileOutputStreamfos = null;
if(src.exists()) {
fis= new FileInputStream(src);
fos= new FileOutputStream(dest);
intlen = 0 ;
byte[]bytes = new byte[1024];
while(-1 != (len = fis.read(bytes))) {
fos.write(bytes,0, len);
}
fos.flush();
fos.close();
fis.close();
}else{
System.out.println("文件不存在");
}

}

3.银行存储业务知识

银行存储系统流程

学习心得:
1.追求卓越,成功也会追上你
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java File