从流中读取的内容写到文件里 java_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怎么复制文件

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();

}

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值