常用:
File folder =new File(“e:\project”); 构造方法为目标文件、文件夹的目录路径字符串
file.isfile();
file.isDirectory();
// 以字符串数组的形式,返回当前文件夹下的所有文件(不包含子文件及子文件夹)
file.list();
// 以文件数组的形式,返回当前文件夹下的所有文件(不包含子文件及子文件夹)
File[] fs = file.listFiles();
file.getname();
file.length();
得到的是文件的字节(byte)长度//有多长,就需要用多大的byte数组去读取:
byte[] all = new byte[(int) f.length()];
file.getAbsolutePath()
file.exists()
// 创建文件夹,如果父文件夹skin不存在,创建就无效
f.mkdir();
// 创建文件夹,如果父文件夹skin不存在,就会创建父文件夹
f.mkdirs();
file.lastModified()
输入输出流:
filereader.read(要存储到的变量字符数组名:all);
return new String(all);
读取一个file文件内的字符内容:
FileReader fr=new FileReader(file);
char []all =new char[(int)file.length()];
fr.read(all);
1.文件目录写法
File f = new File(“c:\windows”);
File f =new File(“d:/lol.txt”);
2.流的创建过程
先new一个文件file对象,
再通过该对象为参数,选定要用的输入输出流来创建
3.创建流的时候,要用try和catch
因为,文件不一定存在,有可能创建失败
catch (IOException e) {
e.printStackTrace();
}
4.输出流输出的时候,文件会自动创建但是目录不会
File f = new File("d:/lol2.txt");
byte data[] = { 88, 89 };
FileOutputStream fos = new FileOutputStream(f);
fos.write(data);
要想自动创建目录要加上
File dir = f.getParentFile();
if(!dir.exists()){
dir.mkdirs();
}
5.流要进行关闭
1).在finally中进行关闭
2).使用try(),在try, catch, finally结束的时候自动关闭,如:
try (FileInputStream fis = new FileInputStream(f))
6.同样的File f = new File(“d:/lol.txt”);
用byte,字节流打印出来的是ASCII数字
而用char,字符流打印出来的是原本写入的AB
7.FileReader的默认编码方式是不能改变的
InputStreamReader 的编码方式可以改变;故要用指定的编码方式识别文件中的字符内容时,用
try (InputStreamReader isr = new InputStreamReader(new FileInputStream(f),Charset.forName(“UTF-8”)))
8.InputStreamReader需要用一个输入字节流来进行构造
public InputStreamReader(InputStream in)
public InputStreamReader(InputStream in, String charsetName)
System.out 是常用的在控制台输出数据的
System.in 可以从控制台输入数据