1,File
创建File对象,必须使之与文件相关联
FIle file = new File(“G:\\JAVA”);
File file = new File(“G:\\JAVA”,“Demo.txt”);
File f = new File(“G:\\JAVA\\txt.txt”);
try{
f.createNewFile();
}catch(IOException ie){
//@
}
FIle dir = new File("G:\\JAVA\\a\\b");
dir.mkdirs();//mkdir创建单级文件,mkdirs创建多级
遍历所有文件及文件夹
File[] files = dir.listFiles();
for(File
file:files){
if(file.isDirectory()){
list(file);
}
sysout.(file.getName());
File f = new File("F:\\test.txt");
long len = f.length();
byte[] bs = new byte[(int) len];
//创建流
FileInputStream fis = new FileInputStream(f);
//读取一个字节
int b = fis.read();
int i = 0;
while(b != -1){
//System.out.println(Integer.toHexString(b));
bs[i] = (byte) b;
b = fis.read();
i ++;
}
//关闭流
fis.close();
//将bs字节数组转换成字符串
String s = new String(bs);
System.out.println(s);
FileReader(File file)
// FileReader(String
filename);
FileReader fr = new FileReader("path");
char[] c = new char[10];
int len = fr.read(c);
while(len != -1){
sysout(new String(c,0,len));
len = fr.read(c);
}
fr.close();
public static void main(String[] args) throws Exception{
//高级流
BufferedReader br = new BufferedReader(
new FileReader("F:\\test.txt"));
//读
String line = br.readLine();
while(line != null){
System.out.println(line);
line = br.readLine();
}
br.close();
}
public static void main(String[] args) throws Exception{
PrintWriter pw =
new PrintWriter(new FileWriter("F:\\test2.txt"));
pw.write("aaaaaaaa");
pw.write("\r\n");
pw.write("bbbbbbbbbb");
pw.write("\r\n");
pw.close();
}
BufferedReader br = new BufferedReader(
new InputStreamReader(
new FileInputStream("f:\\test.txt"))
);
String line = br.readLine();
while(line != null){
System.out.println(line);
line = br.readLine();
}
br.close();
a)File表示文件或者文件夹,不包含文件中的数据
b)创建文件和文件夹
public void list(File dir){
}
2,字节流
对二进制文件图片等进行的输入输出操作
a)FileInputStream
int read();//按字节读取
int read(byte[] b);//按byte【】个字节读取。返回实际读到的字节数,byte【】未满亦是如实返回;
//自适应文件大小读取
b)FileOutputStream
FileOutputStream fos = new FileInputStream(String name, true);//true表示追加,缺省表示覆盖
write(int b);
//写入字节b;
write(byte[] b);
//写入byte【】;
write(byte[]b,int off,int len) ;//从byte【】第off起写入len个;
String s = "字节流输入输出";
byte[] bs = s.getBytes();
fos.write(bs);
public class Copy {
public static void main(String[] args) throws Exception{
FileInputStream fis = new FileInputStream("C:\\爱丁堡.png");
FileOutputStream fos = new FileOutputStream("D:\\xx.png");
byte[] b = new byte[1024];
int len = fis.read(b);
while(len > 0){
//写入另一个文件
fos.write(b, 0, len);
//继续读取下一批字节
len = fis.read(b);
}
fos.close();
fis.close();
}
}
}
3,字符流
对汉字等进行读写操作的流,避免乱码
对汉字等进行读写操作的流,避免乱码
//案例读取path
FileWrite(String name);
fileWrite.write(char[] i,int off,int len)//输出指定位置的字符
fileWrite.write(String s,int off, int len)//输出字符串off之后的len个字符
FileWrite fw = new FileWrite(File file,true);//true同FileInputStream;
缓冲流等高级流是对低级流的封装,性能高;
关闭高级流则自动关闭低级流
缓冲输入流
//@
缓冲输出流
//@
字符字节流转换
InputStreamReader字节输入流转换成字符输入流
OutputStreamWriter字节输出流转换成字符输出流
//@