IO_字节流_节点流_文件读取_写出_追加文件_拷贝文件JAVA147-148
来源:互联网 发布:淘宝收藏链接在哪里 编辑:程序博客网 时间:2024/05/23 11:57
来源:http://www.bjsxt.com/
一、S02E147_01IO_字节流、节点流、文件读取、写出、追加文件
1.读取文件
a.建立联系:File对象 源头
b.选择流:文件输入流 InputStream FileInputStream
c.操作:byte[] car = new byte[1024]; + read + 读取大小
输出
d.释放资源:关闭
package com.test.io.stream;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.io.InputStream;/** * 1.读取文件 a.建立联系:File对象 源头 b.选择流:文件输入流 InputStream FileInputStream c.操作:byte[] car = new byte[1024]; + read + 读取大小 输出 d.释放资源:关闭 */public class FileRead { /** * @param args */ public static void main(String[] args) { //a.建立联系:File对象 File src = new File("G:/java/test/1.txt"); //b.选择流:文件输入流 InputStream FileInputStream InputStream is = null;//提升作用域 try { is = new FileInputStream(src); //c.操作:不断读取 byte[] car = new byte[10];//缓冲数组 int len = 0;//接收实际读取大小 //循环读取 while(-1 != (len = is.read(car))){ //输出:字节数组转为字符串 String info = new String(car,0,len); System.out.print(info); } } catch (FileNotFoundException e) { e.printStackTrace(); System.out.println("文件不存在"); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); System.out.println("读取文件失败"); } finally{ //d.释放资源:关闭 if(null != is){ try { is.close(); } catch (IOException e) { e.printStackTrace(); System.out.println("关闭文件输入流失败"); } } } }}
2.写出文件
a.建立联系:File对象 目的地
b.选择流:文件输出流 OutputStream FileOutputStream
c.操作:write() + flush()
d.释放资源:关闭
package com.test.io.stream;import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.OutputStream;/** * 2.写出文件 a.建立联系:File对象 目的地 b.选择流:文件输出流 OutputStream FileOutputStream c.操作:write() + flush() d.释放资源:关闭 */public class FileWrite { public static void main(String[] args) { //a.建立联系:File对象 目的地 File des = new File("G:/java/test/test.txt"); //b.选择流:文件输出流 OutputStream FileOutputStream OutputStream os = null; try { os = new FileOutputStream(des,true);//true:以追加的形式写出文件;false:覆盖 //c.操作:write() + flush() String str = "anything is good \r\n"; //字符串转字节数组 byte[] data = str.getBytes(); os.write(data,0,data.length); os.flush();//强制刷新出去 } catch (FileNotFoundException e) { e.printStackTrace(); System.out.println("文件未找到"); } catch (IOException e) { e.printStackTrace(); System.out.println("文件写出失败"); } finally{ //d.释放资源:关闭 if(null != os){ try { os.close();//关闭时会flush } catch (Exception e2) { System.out.println("关闭输出流失败"); } } } }}
二、S02E148_01IO_拷贝文件
3.文件拷贝, 程序为桥梁
a.建立联系:File对象 源头和目的地
b.选择流:文件输入流 InputStream FileInputStream
文件输出流 OutputStream FileOutputStream
c.操作:拷贝
byte[] flush = new byte[1024];
int len = 0;
while(-1 != (len = 输入流.read(flush))){
输出流.write(flush,0,len)
}
输出流.flush
d.释放资源:关闭两个流
package com.test.io.stream;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;/** * 3.文件拷贝,程序为桥梁 a.建立联系:File对象 源头和目的地 b.选择流:文件输入流 InputStream FileInputStream 文件输出流 OutputStream FileOutputStream c.操作:拷贝 byte[] flush = new byte[1024]; int len = 0; while(-1 != (len = 输入流.read(flush))){ 输出流.write(flush,0,len) } 输出流.flush d.释放资源:关闭两个流 */public class CopyFile { public static void main(String[] args) { String srcPath = "G:/java/test/background.jpg"; String desPath = "G:/java/test/100.jpg"; try { copyFile(srcPath,desPath); } catch (FileNotFoundException e) { e.printStackTrace(); System.out.println("文件没有找到"); } catch (IOException e) { e.printStackTrace(); System.out.println("文件拷贝失败或者关闭流失败"); } } /** * 文件的拷贝,传入File参数 * @param src * @param des * @throws FileNotFoundException * @throws IOException */ public static void copyFile(File src,File des) throws FileNotFoundException,IOException { //1.建立联系 源头(存在且为文件) + 目的地(文件可以不存在) if(!src.isFile()){ throw new IOException("只能拷贝文件"); } //des为存在的文件夹,不能建立与文件夹同名的文件 if(des.isDirectory()){ System.out.println(des.getAbsolutePath() + "不能建立与文件夹同名的文件"); throw new IOException(des.getAbsolutePath() + "不能建立与文件夹同名的文件"); } //2.选择流 InputStream is = new FileInputStream(src); OutputStream os = new FileOutputStream(des); //3.文件拷贝 循环+读取+写出 byte[] flush = new byte[1024]; int len = 0; //读出 while(-1 != (len = is.read(flush))){ //写出 os.write(flush,0,len); } os.flush();//强制刷出 //关闭流,先打开的后关闭 os.close(); is.close(); } /** * 文件的拷贝,传入String参数,路径 * @param srcPath * @param desPath * @throws FileNotFoundException * @throws IOException */ public static void copyFile(String srcPath,String desPath) throws FileNotFoundException,IOException { copyFile(new File(srcPath),new File(desPath)); }}
0 0
- IO_字节流_节点流_文件读取_写出_追加文件_拷贝文件JAVA147-148
- 147_IO_节点流_字节流_文件读取_写出_追加文件
- IO_字符流_纯文本_节点流_读取_写出_拷贝JAVA151
- IO_字节流_节点流_文件夹拷贝_工具制作_文件后缀与软件的关系JAVA149、163
- Java——IO流_字节流_结点流_文件读取、写出
- 149_IO_字节流_节点流_文件夹拷贝_工具制作_文件后缀与软件的关系
- 148_IO_字节流_节点流_文件的拷贝
- 151_IO_字符流_纯文本_节点流_Reader_FileReader_Writer_FileWriter_读取_写出_拷贝
- 黑_马_程_序_员_字节流复制任意文件
- 字符流_字节流_IO异常处理_文件的续写_拷贝文本_缓冲流
- IO_其他流_字节数组流、与文件流对接JAVA156-157
- 黑马程序员_字符流_字节流_IO异常处理_文件的续写_拷贝文本_缓冲流
- 泛型_文件流
- 资源文件读取_文件
- 150_IO_字节流_节点流_拷贝_工具健壮性
- 基础_多线程文件拷贝
- 黑_马_程_序_员_文件读取的一种方法
- IO_缓冲流_转换流_字节转为字符_乱码分析_编码与解码JAVA152-154
- fragment里Toast方法
- 利用gmp库查找完美数
- javaWeb-sax解析xml文件
- 《C专家编程》笔记——第二章
- 判断点是否在一个三角形内部
- IO_字节流_节点流_文件读取_写出_追加文件_拷贝文件JAVA147-148
- [SQLServer] 50种方法优化SQL Server数据库查询
- python 抓包保存为pcap文件并解析
- 原型模式
- 利用MySQL Workbench导出MySQL创建的数据表关系图图文教程
- Convert Integer A to Integer B
- RedHat企业版6.5 安装及配置DNS服务器(named)步骤
- 高性能,高并发
- HDOJ-5053(the Sum of Cube)