码迷,mamicode.com
首页 > 其他好文 > 详细

File I/O

时间:2018-09-21 11:37:13      阅读:316      评论:0      收藏:0      [点我收藏+]

标签:close   writer   exists   com   调用   adl   file   读取文件   多媒体   

技术分享图片

 

技术分享图片

 

 

1.文件读取
fis=new FileInputStream(file);//创建字节输入流

方式1:
int content=fis.read();//调用read方法一次读取一个字节
while(content!=-1){//content=-1表示读取不到内容
System.out.print((char)content);
content=fis.read();
}

方式2:
byte[] array=new byte[1024];
fis.read(array);
System.out.println(new String(array));

2.文件写入
fos=new FileOutputStream("file/demo.txt",true);//告知要写到的文件,true追加式
fos.write(content.getBytes());//调用write方法写内容

3.使用FileInputStream和FileOutputStream实现文件复制
FileInputStream fis=null;
FileOutputStream fos=null;
try{
//读取文件内容
fis=new FileInputStream("file/demo.txt");
byte[] array=new byte[fis.available()];
fis.read(array);
System.out.println(new String(array));

//写入文件内容
fos=new FileOutputStream("file/demo2.txt");
fos.write(array);
System.out.println("复制成功!");

}catch(Exception e){
e.printStackTrace();
}finally{
if(fis!=null){
try {
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if(fos!=null){
try {
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}

 

 

 

 


4.使用带缓冲区的字符输入输出流复制文件
FileReader fr=null;//字符输入流
BufferedReader br=null;

FileWriter fw=null;//字符输出流
BufferedWriter bw=null;
try{
fr=new FileReader("file/demo.txt");
br=new BufferedReader(fr);

fw=new FileWriter("file/demo2.txt");
bw=new BufferedWriter(fw);
String content=br.readLine();//读取一行内容(字符串)
while(content!=null){
System.out.println(content);
bw.write(content+"\n");
content=br.readLine();//读取下一行
}

}catch(Exception e){
e.printStackTrace();
}finally{
if(br!=null){
try {
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if(fr!=null){
try {
fr.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if(bw!=null){
try {
bw.flush();//关闭之前清空缓冲区
bw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if(fw!=null){
try {
fw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}

 

5.使用DataInputStream和DataOutputStream实现多媒体文件复制
FileInputStream fis=null;
DataInputStream dis=null;

FileOutputStream fos=null;
DataOutputStream dos=null;
try{
//读取文件内容
fis=new FileInputStream("E:\\1508838211021.jpg");
dis=new DataInputStream(fis);

//写入文件内容
File file=new File("E:\\20180515.jpg");
if(!file.exists()){//判断文件不存在时,手动创建
file.createNewFile();
}
fos=new FileOutputStream(file);
dos=new DataOutputStream(fos);

int data=0;
while((data=dis.read())!=-1){
dos.write(data);
}
System.out.println("复制成功!");
}catch(Exception e){
e.printStackTrace();
}finally{
if(dis!=null){
try {
dis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if(fis!=null){
try {
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if(dos!=null){
try {
dos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if(fos!=null){
try {
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}

 

File I/O

标签:close   writer   exists   com   调用   adl   file   读取文件   多媒体   

原文地址:https://www.cnblogs.com/BingBing-Deng/p/9685516.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!