java文件流操作
package common; import java.io.*;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import entity.Commodity; public class CommodityFile {
public List<Commodity> read(){
List<Commodity> commodities=new ArrayList<>();
File file=new File("E:/commodities1.txt");
FileInputStream fis=null;
ObjectInputStream ois=null;
//BufferedReader br=null;
//InputStreamReader isr=null;
try {
file.createNewFile();
fis=new FileInputStream(file);
ois=new ObjectInputStream(fis);
commodities=(List<Commodity>)ois.readObject();
/*isr=new InputStreamReader(fis,"utf-8");
br=new BufferedReader(isr);
String s;
while ((s=br.readLine())!=null){
Commodity commoditie=new Commodity();
String[] s1=s.split(" ");
commoditie.setName(s1[0]);
commoditie.setPrice(new BigDecimal(s1[1]));
commoditie.setDetial(s1[2]);
commodities.add(commoditie);
}*/
}catch (Exception e){
e.printStackTrace();
}
finally {
try {
/*if(br!=null){
br.close();
}if(isr!=null){
isr.close();
}*/
if(ois!=null){
ois.close();
}
if(fis!=null){
fis.close();
}
} catch (IOException e) {
e.printStackTrace();
} }
return commodities;
}
public void write(List<Commodity>commodities){
/*StringBuffer sb=new StringBuffer();
for (Commodity c:commodities){
sb.append(c.getName()+" "+c.getPrice()+" "+c.getDetial()+"\n");
}*/
File file=new File("E:/commodities1.txt");
FileOutputStream fos=null;
ObjectOutputStream oos=null;
//OutputStreamWriter osw=null;
//BufferedWriter bw=null;
try {
file.createNewFile();
fos=new FileOutputStream(file);
oos=new ObjectOutputStream(fos);
oos.writeObject(commodities);
/*osw=new OutputStreamWriter(fos,"utf-8");
bw=new BufferedWriter(osw);
bw.write(sb.toString());*/
} catch (Exception e) {
e.printStackTrace();
}finally {
/*if(bw!=null){
try {
bw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if(osw!=null){
try {
osw.close();
} catch (IOException e) {
e.printStackTrace();
}
}*/
if(oos!=null){
try {
oos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if(fos!=null){
try {
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
java文件流操作的更多相关文章
- Java 文件流操作.
一.概念 在Java中,文件的输入和输出是通过流(Stream)来实现的.一个流,必有源端和目的端,它们可以是计算机内存的某些区域,也可以是磁盘文件,甚至可以是 Internet 上的某个 URL.对 ...
- Java IO流操作汇总: inputStream 和 outputStream【转】
我们在进行Android java 开发的时候,经常会遇到各种IO流操作.IO流操作一般分为两类:字符流和字节流.以“Reader”结尾都是字符流,操作的都是字符型的数据:以“Stream”结尾的都是 ...
- java字符流操作flush()方法及其注意事项
java字符流操作flush()方法及其注意事项 flush()方法介绍 查阅文档可以发现,IO流中每一个类都实现了Closeable接口,它们进行资源操作之后都需要执行close()方法将流关闭 ...
- delphi 基础之三 文件流操作
文件流操作 Delphi操作流文件:什么是流?流,简单来说就是建立在面向对象基础上的一种抽象的处理数据的工具.在流中,定义了一些处理数据的基本操作,如读取数据,写入数据等,程序员是对流进行所有操作的, ...
- (C/C++学习)2.C语言中文件流操作基本函数总结
函数所在头文件:stdio.h 说明:前半部分主要为对各个文件流操作函数的例举,后半部分着重于上机运行分析.文中部分引用自王桂林老师的C/C++课件. 1.FIELE *fopen(const cha ...
- 全面吃透JAVA Stream流操作,让代码更加的优雅
全面吃透JAVA Stream流操作,让代码更加的优雅 在JAVA中,涉及到对数组.Collection等集合类中的元素进行操作的时候,通常会通过循环的方式进行逐个处理,或者使用Stream的方式进行 ...
- java 文件类操作(转载)
11.3 I/O类使用 由于在IO操作中,需要使用的数据源有很多,作为一个IO技术的初学者,从读写文件开始学习IO技术是一个比较好的选择.因为文件是一种常见的数据源,而且读写文件也是程序员进行IO编程 ...
- java文件读写操作
Java IO系统里读写文件使用Reader和Writer两个抽象类,Reader中read()和close()方法都是抽象方法.Writer中 write(),flush()和close()方法为抽 ...
- java文件读写操作类
借鉴了项目以前的文件写入功能,实现了对文件读写操作的封装 仅仅需要在读写方法传入路径即可(可以是绝对或相对路径) 以后使用时,可以在此基础上改进,比如: 写操作: 1,对java GUI中文本框中的内 ...
随机推荐
- input标签存在的兼容问题?
当input标签在type为text时,在Firefox和Safari中的默认高度为22像素(包括上下边框)宽度为146像素(包括左右边框),而在IE中的默认高度为24像素,而宽度却和Firefox和 ...
- OD 快捷键
F3 为加载一个可执行程序,进行调试分析 F2 为下断点 下完断点后,地址变为红色的 程序执行到断点处的时候会停下来 取消断点也是 F2 F4 为把程序执行到光标所在处 如果光标所在的位置在断点处之后 ...
- cinder backup ceph的配置和使用
Backup 是将 volume 备份到别的地方(备份设备),将来可以通过 restore 操作恢复. 初看 backup 功能好像与 snapshot 很相似,都可以保存 volume 的当前状态, ...
- Linux6系统安装
- linux下mysql的root密码忘记----解决方案
1.首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库. 因为在重新设置MySQL的root密码的期间,MySQL数据库完全出于没有密码保护的 状态下 ...
- LinearLayout布局
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&quo ...
- Django实现支付宝付款和微信支付
支付宝支付和微信支付是当今互联网产品常用的功能,我使用Django Rest Framework实现了网页上支付宝支付和微信支付的一个通用服务,提供rpc接口给其他服务,包括获取支付宝支付页面url的 ...
- json-lib 之jsonConfig详细使用(转载写的不错)
=========================== Java To Json ============================= 一,setCycleDetectionStrategy 防 ...
- 高德地图-android 权限设置
转自http://blog.csdn.NET/eyu8874521/article/details/8481953 一个Android应用程序需要权限才能调用某些android系统的功能:一个andr ...
- fsync性能问题
最近在测试种发现程序里调用fsync刷文件到磁盘时,开销只有几百微秒,于是对fsync相关机制进行了一番调查. 磁盘(或RAID卡)自身通常会有硬件缓存机制,对于写操作,有write back和wri ...