java 文件输入 输出流_java文件输入输出流学习笔记

--java创建文件

File file=new File("java.txt");//此时java工作空间根目录下不一定存在java.txt

//判断是否存在不存在调用File类的createNewFile方法创建java.txt

File files=new File("E:\\war3");

if(!file.exists()){

file.createNewFile();

}

System.out.println(file.exists());//判断文件是否存在

System.out.println(file.isFile());//判断是不是文件

System.out.println(files.isDirectory());//判断是不是文件夹

System.out.println(file.getName());//获取文件名

System.out.println(file.getAbsolutePath());//获取文件绝对路径

//如果是文件夹  调用File类的listFiles方法以集合的形式获取其子文件 并打印其绝对路径

File[] arry=file.listFiles();

for (File f : arry) {

System.out.println(f.getAbsolutePath());

}

--FileInputStream 输入流  读取文件内容

File file=new File("java.txt");

FileInputStream fis=new FileInputStream(file);

--方法一

int num=0;

while((num=fis.read())!=-1){

System.out.println((char)num);

}

--方法二

byte[] bt=new byte[(int)file.length()];

int num1=0;

while((num1=fis.read(bt))!=-1){

String str=new String(bt);

System.out.println(str);

--FileOutputStream 输出流 写入文件

File file=new File("java.txt");

FileOutputStream fos=new FileOutputStream(file,true);

String str="hello world!";

--方法一

for(int i=0;i

fos.write(str.charAt(i));

}

System.out.println("写入成功!");

--方法二

byte[] bt=str.getBytes();

fos.write(bt);

System.out.println("写入成功!");

FileInputStram类和FileOutputStream类虽然可以高效率地读/写文件,但对于Unicode编码的文件,使用它们有可能出现乱码;

考虑到Java是跨平台的语言,要经常操作Unicode编码的文件,使用字符流操作文件是有必要的;

使用字符流将涉及到以下4个类:

>FileReader类和FileWriter类;

>BufferedReader类和BufferedWriter类。

--读取文件信息

File file=new File("java.txt");

FileReader fr=new FileReader(file); //创建文件输入字符流文件

BufferedReader br=new BufferedReader(fr);//创建文件输入字符流文件缓冲区

String str;

while((str=br.readLine())!=null){

System.out.println(str);

}

--写入文件

FileWriter fw=new FileWriter(file);

BufferedWriter bw=new BufferedWriter(fw);

bw.write("hello word!");

bw.newLine();

bw.write("hello java!");

bw.flush();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值