Java IO学习笔记

1 篇文章 0 订阅
1 篇文章 0 订阅
1.声明一个文件对象,separator代表"\",会因操作系统的不同而不同,比如Linux下是"/"

File f = new File("d:"+File.separator+"test.txt");

2.创建文件

f.createNewFile();  

3.删除文件

f.delete(); 

4.判断文件是否存在

f.exists()

3.创建文件夹,一次只能创建一个文件夹
File f = new File("G:"+File.separator+"hello");  //实例化File类
f.mkdir();                                       //创建文件夹
4.列出指定目录下的所有文件
File f = new File("d:"+File.separator);  //给出路径
String str[] = f.list();                 //列出全部名称,返回字符串数组
for(int i=0;i<str.length;i++){     
    System.out.println(str[i]);              
}

5.列出指定目录下所有文件的完整路径

File f = new File("d:"+File.separator);  //设置路径
File files[] = f.listFiles();            //列出全部File
for(int i=0;i<files.length;i++){
    System.out.println(files[i]);
}

6.判断路径是否是目录

f.isDirectory();

7.获得路径

f.getPath();

7.查找某路径下的所有文件

	public static void print(File file){
		if(file !=null){  
			File files[] = file.listFiles();                  //获得File对象数组
			for(int i=0;i<files.length;i++){   
				if(files[i].isDirectory()){                   //判断是否是路径
					print(files[i]);                          //如果是则继续递归
				}else{
					System.out.println(files[i].getName());   //如果不是则打印文件名称
				}
			}
		}
	}
8.RandomAccessFile任意位置读取和写入

实例化RandomAccessFile对象

File f = new File("d:"+File.separator+"test.txt");
RandomAccessFile raf = new RandomAccessFile(f,"rw"); //r代表可写操作,//w代表可读操作
写入

raf.writeBytes("hello");  //写入字节流
raf.writeInt(12);         //写入整数
关闭写入

raf.close();

读取

byte b[] = new byte[10];
for(int i=0;i<b.length;i++){
   b[i] = raf.readByte();  //一次只能读取一个字节
}
raf.readInt();             //读取数字
字节跳过

raf.skipBytes(12);     //跳过12个字节
指针归位

raf.seek(0);
关闭读取

raf.close();

9.字节流的输出和输入
9.1字节输出流,写入操作
文件内容重写

File f = new File("d:"+File.separator+"test.txt");   //实例化File对象
OutputStream out = new FileOutputStream(f);          //用OutputStream抽象类实例化输出对象
String str = "Hello World!";                        //准备数据
byte b[] = str.getBytes();                         //只能输出byte数组,所以将字符串变为byte数组
out.write(b);                                      //将内容关闭,保存文件
out.close();                                       //关闭输出流

文件内容追加

File f = new File("d:"+File.separator+"test.txt");
OutputStream out = new FileOutputStream(f,true);   //appeand设置为True,表示追加
String str = "Hello Word!!!";
byte b[] = str.getBytes();         
for(int i=0;i<b.length;i++){
    out.write(b[i]);
}
out.write(b);
out.close();

9.3字节输入流InputStream
实例化字节输入流对象

File f = new File("d:"+File.separator+"test.txt");
InputStream input = new FileInputStream(f);

得到文件大小

(int)f.length();
int len = input.read(new byte[1024]);

根据文件大小打印

System.out.println("内容:"+new String(b,0,len));

一个字节一个字节的读取

byte b[] = new byte[1024];
int len = 0;
int temp = 0;
while((temp = input.read())!=-1){   //如果文件不是-1则未读完
	b[len] = (byte)temp;
	len++;
}



10.字符流的输出流Writer,输入流Reader

Writer






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值