标签: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();
}
}
}
标签:close writer exists com 调用 adl file 读取文件 多媒体
原文地址:https://www.cnblogs.com/BingBing-Deng/p/9685516.html