JAVA学习日记Day1——文件字节流

输入输出流之File类

java.io包提供了许多的流类

字节输入流:InPutStream      字符输入流:Reader         字符输出流:OutPutStream        字节输出流:Writer

文件类File

三种创建File对象的方法

File(String filename);//创建的文件处于当前文件夹
File(String directoryPath,String filename);//directoryPath为文件路径
File(File dir,String filename);//dir是目录文件,生成的文件在该目录下

File类的一些常用方法

1.getName   ——获取文件名

2.canRead   ——判断文件是否可读

3.canWrite   ——判断文件是否可写

4.getName   ——获取文件名

5.exists   ——判断文件是否存在

6.length   ——获取文件长度

7.getAbsolutePath   ——获取绝对路径

8.getParent   ——获取上级目录

9.isFile   ——判断是普通文件还是目录

10.isHidden   ——判断是否是隐藏文件

11.lastModified   ——获取最后修改日期(返回的是从1970年午夜到最后修改的毫秒数)

12.delete   ——删除当前文件

可执行文件

用Runtime声明对象,然后调用getRuntime()方法创建;对象调用exec(String command)打开可执行文件

Runtime rt = Runtime.getRuntime();
rt.exec('C:/windows','Notic.exe');

调用delete删除文件

file.delete();

文件字节输入流:FileInputStream

两种构造函数

FileInputStream(String name);//创建一个名字是name的流
FileInputStream(File file);//创建一个指向文件的输入流

第二种方法创建输入流可能会发生一些错误,比如指向的文件不存在了。所以应在try—catch语句中创建流,然后再捕捉异常。

读取文件内容的例子

package com.zh;

import java.io.*;

public class Exampel {
	public static void main(String[] args) {
         int n = -1;
         byte[] a = new byte[100];
         try {
		     File f = new File("Example.java");
		     FileInputStream in = new FileInputStream(f);
		     while ((n=in.read(a,0,100))!=-1) {//读取100个字节到a,从a的第0位置开始,并返回读取的字节数,若读取到文件末尾则返回-1
				String s = new String(a,0,n);//把实际读入的字节转化为字符串,注意n不可以写成100
				System.out.println(s);
			}
		     in.close();//调用close关闭流
		} catch (IOException e) {//捕捉异常
			System.out.println("ERROR"+e);
		}
	}

}

输出流FileOutputStream与输入流类似

package com.zh;

import java.io.*;

public class Exampel {
	public static void main(String[] args) {
         byte[] a = "Hello".getBytes();//调用getBytes方法将字符转换成字节
         byte[] b = "Java".getBytes();
         File file = new File("javaaaaaaa.txt");
         try {
			OutputStream out = new FileOutputStream(file);
			System.out.println(file.getName()+"的大小是"+file.length()+"字节");
			out.write(a);
			out.close();
			out = new FileOutputStream(file, true);//true表示流不会刷新文件,使得write可以在文件的末尾写入数据
			System.out.println(file.getName()+"的大小是"+file.length()+"字节");
			out.write(b);
			System.out.println(file.getName()+"的大小是"+file.length()+"字节");
			out.close();
		} catch (IOException e) {//捕捉异常
			System.out.println("ERROR"+e);
		}
	}

}

运行结果:

javaaaaaaa.txt的大小是0字节
javaaaaaaa.txt的大小是5字节
javaaaaaaa.txt的大小是9字节

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值