java 磁盘_java读写磁盘文件

一、java的IO流

java中的IO流可分为字节流和字符流。其中有4个文件流,4个缓冲流,2个转换流,2个打印流,2个序列化流,2个数据流。

文件流

FileInputStream //字节输入流

FileOutPutStream //字节输出流

FileReader //字符输入流

FileWriter //字符输出流

缓冲流

BufferedInputStream //字节输入缓冲流

BufferedOutputStream //字节输出缓冲流

BufferedReader //字符输入缓冲流

BufferedWriter //字符输出缓冲流

BufferedReader 由Reader类扩展而来,提供通用的缓冲方式文本读取,readLine读取一个文本行,

从字符输入流中读取文本,缓冲各个字符,从而提供字符、数组和行的高效读取。

BufferedWriter 由Writer 类扩展而来,提供通用的缓冲方式文本写入, newLine使用平台自己的行分隔符,

将文本写入字符输出流,缓冲各个字符,从而提供单个字符、数组和字符串的高效写入。

序列化流

ObjectInputStream

ObjectOutputStream

转换流(字符流)将字节流转换为字符流

InputStreamReader

OutputStreamWriter

数据流

DataInputStream

DataOutputStream

打印流

PrintWriter

PrintStream

二、使用示例

1、使用FileWriter和BufferedWriter写入字符串到磁盘中

/**

* 写入磁盘,并保存在磁盘中

*/

public static void writeToFile() {

String content = "测试写入文件";

File file = new File("H:\\workplaces\\eclipse_programs\\DataStructures\\testWrite.txt");

try {

//创建字符输出流类对象和已存在的文件相关联;文件不存在的话,并创建;true表示从结尾续写,false表示覆盖重写

FileWriter fw = new FileWriter(file,false);

BufferedWriter bw = new BufferedWriter(fw);

//写入字符串内容

bw.write(content);

//关闭流

bw.close();

fw.close();

System.out.println("测试写入成功");

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

2、使用FileInputStream、InputStreamReader、BufferedReader从磁盘文件中读取内容

/**

* 从磁盘文件中读取内容

* @return

* @throws IOException

*/

public static void readFromFile(File file) {

if(file.isFile() && file.exists()) {

try {

//FileInputStream用于从文件读取数据,读取文件成字节流

FileInputStream fs = new FileInputStream(file);

//使用InputStream从文件里读取数据,将字节流转换为字符流.

InputStreamReader isr = new InputStreamReader(fs);

//从字符输入流中读取文本,缓冲各个字符

BufferedReader br = new BufferedReader(isr);

StringBuffer sb = new StringBuffer();

String text = null;

while((text = br.readLine()) != null) {

//将读取到的文本存入stringbuffer中

sb.append(text);

}

System.out.println("读取结果:" + sb.toString());

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

3、使用FileOutputStream 和 OutputStreamWriter写入文件

/**

* 使用FileOutputStream 和 OutputStreamWriter写入文件

*/

public static void writeToFile2() {

String content = "测试写入文件2";

File file = new File("H:\\workplaces\\eclipse_programs\\DataStructures\\testWrite2.txt");

try {

//字节输入流

FileOutputStream fs = new FileOutputStream(file);

//将字节流转换为字符流

OutputStreamWriter os = new OutputStreamWriter(fs);

os.write(content);

os.close();

fs.close();

System.out.println("成功写入文件2");

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值