java 操作文件_java文件操作

IO流:

低效O:

FileWriter初始化操作

FileWriter(String Filename, boolean append) // 参数append 默认为false

FileWriter对文件的写入操作

void write(String str);

void write(String str, int index, int len);

void write(int ch); // 注意,这是写一个字符, 如:write(97),则写入的为'a',如果想写数字,推荐使用第一个,如write("97")

void write(char[] chs);

void write(char[] chs, int index, int len);

Demo:

FileWriter fw = new FileWriter("d:\\a.txt");

fw.write("IO流Demo");

fw.write("换\r\n行");

fw.flush();

fw.close();

低效I:

FileReader:

FileReader(String filename)

读取操作:

int read() // 一次读取一个字符 以ASCII存储 想要看到字符 做类型转换 (char)read()

// 当返回值为-1时,说明没有数据了

int read(char[] cbuf) // 一次读取一个字符数组,返回的是实际读取到的字符的个数

Demo1:

//一次读取一个字符

FileReader fr = new FileReader("d:\\a.txt");

int ch;

while((ch=fr.read())!=-1)

{

System.out.print((char)ch);

}

fr.close();

Demo2:

//一次读取一个1024个字符

FileReader fr - new FileReader("d:\\a.txt");

char[] chs = new char[1024];

int len;

while((len = read(chs))!= -1 )

{

System.out.print(new String(chs, 0, len));

}

fr.close();

高效O:

Demo:

BufferedWriter bw = new BufferedWriter(new FileWriter("d:\\bw.txt"));

bw.write("高效O Demo");

bw.write("换\r\n行");

bw.flush();

bw.close();

特殊功能:

void newLine() // 写一个换行符,具体是什么由系统决定, win(\r\n) linux(\n) mac(\r)

高效I:

Demo:

BufferedReader br = new BufferedReader(new FileReader("d:\\bw.txt"));

char[] chs = new char[1024];

int len;

while((len=bw.read(chs))!=-1)

{

System.out..print(new String(chs,0,len));

}

bw.close();

特殊功能:

String readLine() // 一次读取一行数据,但是不读取换行符。

☆Demo:

BufferedReader br = new BufferedReader(new FileReader("d:\\bw.txt"));

String line;

while((line = br.readLine()) != null)

{

System.out.println(line);

}

br.close;

//具有鲁棒性的文件写入

public static void main(String[] args) {

function("a.txt");

}

public static void function(String filename){

FileWriter fw = null;

try {

//System.out.println(1/0);;

fw = new FileWriter(filename);

fw.write("hello world");

fw.write("hello world");

//fw.write(2/0);

fw.write("hello world");

fw.write("hello world");

} catch (IOException e) {

e.printStackTrace();

}finally{

try {

if(fw!=null)

fw.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

使用字节流进行文件的复制(二进制文件的复制)

private static void method() throws FileNotFoundException, IOException {

FileInputStream fis = new FileInputStream("这里是一个文件名");

FileOutputStream fos = new FileOutputStream("另一个问件名");

// 一次读一个字节

//int by;

//while((by = fis.read() ) !=-1){

//fos.write(by);

//}

// 一次读取一个字符数组

int len;

byte[] bys = new byte[1024];

while((len = fis.read(bys))!=1){

fos.write(len);

}

fis.close();

fos.close();

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值