Java中IO流文件读取、写入和复制
//构造文件File类
File f=new File(fileName);
//判断是否为目录
f.isDirectory();
//获取目录下的文件名
String[] fileName=f.list();
//获取目录下的文件
File[] files=f.listFiles();
1、Java怎么读取文件
package com.yyb.file; import java.io.File; import java.io.FileInputStream; import java.io.InputStream; /* * 读取文件: * 1、找到指定的文件 * 2、根据文件创建文件的输入流 * 3、创建字节数组 * 4、读取内容,放到字节数组里面 * 5、关闭输入流 */ public class FileRead { public static void main(String[] args) { // 构建指定文件 File file = new File("E:" + File.separator + "hello.txt"); InputStream in = null; try { // 根据文件创建文件的输入流 in = new FileInputStream(file); // 创建字节数组 byte[] data = new byte[1024]; // 读取内容,放到字节数组里面 in.read(data); System.out.println(new String(data)); } catch (Exception e) { e.printStackTrace(); } finally { try { // 关闭输入流 in.close(); } catch (Exception e) { e.printStackTrace(); } } } }
2、Java怎么写入文件
package com.yyb.file; import java.io.File; import java.io.FileOutputStream; import java.io.OutputStream; /* * 写入文件: * 1、找到指定的文件 * 2、根据文件创建文件的输出流 * 3、把内容转换成字节数组 * 4、向文件写入内容 * 5、关闭输入流 */ public class FileWriter { public static void main(String[] args) { // 构建指定文件 File file = new File("E:" + File.separator + "hello.txt"); OutputStream out = null; try { // 根据文件创建文件的输出流 out = new FileOutputStream(file); String message = "我是好人。"; // 把内容转换成字节数组 byte[] data = message.getBytes(); // 向文件写入内容 out.write(data); } catch (Exception e) { e.printStackTrace(); } finally { try { // 关闭输出流 out.close(); } catch (Exception e) { e.printStackTrace(); } } } }
3、Java怎么复制文件
<span style="font-size:18px;">package com.yyb.file; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStream; import java.io.OutputStream; /* * 实现思路: * 1、构建源文件与目标文件 * 2、源文件创建输入流,目标文件创建输出流 * 3、创建字节数组 * 4、使用循环,源文件读取一部分内容,目标文件写入一部分内容,直到写完所有内容 * 5、关闭源文件输入流,目标文件输出流 */ public class FileCopy { public static void main(String[] args) { // 构建源文件 File file = new File("E:" + File.separator + "HelloWorld.txt"); // 构建目标文件 File fileCopy = new File("D:" + File.separator + "HelloWorld"); InputStream in = null; OutputStream out = null; try { // 目标文件不存在就创建 if (!(fileCopy.exists())) { fileCopy.createNewFile(); } // 源文件创建输入流 in = new FileInputStream(file); // 目标文件创建输出流 out = new FileOutputStream(fileCopy, true); // 创建字节数组 byte[] temp = new byte[1024]; int length = 0; // 源文件读取一部分内容 while ((length = in.read(temp)) != -1) { // 目标文件写入一部分内容 out.write(temp, 0, length); } } catch (Exception e) { e.printStackTrace(); } finally { try { // 关闭文件输入输出流 in.close(); out.close(); } catch (Exception e) { e.printStackTrace(); } } } }</span><span style="font-size: 24px;"> </span>