java中的文件存取与读取 5

add按钮监听器中如何读取存取的对象try{ObjectOutputStreamoutput=newObjectOutputStream(newFileOutputStr... add按钮监听器中如何读取存取的对象

try {
ObjectOutputStream output=new ObjectOutputStream(
new FileOutputStream("Exercise19_9.txt"));
ca.add(new CreatAddress(namefield.getText(),streetfield.getText()
,cityfield.getText(), statefield.getText()
, zipfield.getText()));

for(int i=0;i<ca.size();i++)
output.writeObject(ca.get(i));
output.close();
}但是重新开始程序时的数据如何读取
展开
 我来答
198901245631
推荐于2016-10-10 · TA获得超过3.5万个赞
知道大有可为答主
回答量:9037
采纳率:92%
帮助的人:1739万
展开全部
读写是两个不同的分支,通常都是分开单独使用的。
可以通过BufferedReader 流的形式进行流缓存,之后通过readLine方法获取到缓存的内容。
BufferedReader bre = null;
try {
String file = "D:/test/test.txt";
bre = new BufferedReader(new FileReader(file));//此时获取到的bre就是整个文件的缓存流
while ((str = bre.readLine())!= null) // 判断最后一行不存在,为空结束循环
{
System.out.println(str);//原样输出读到的内容
};
备注: 流用完之后必须close掉,如上面的就应该是:bre.close(),否则bre流会一直存在,直到程序运行结束。
可以通过“FileOutputStream”创建文件实例,之后过“OutputStreamWriter”流的形式进行存储,举例:
OutputStreamWriter pw = null;//定义一个流
pw = new OutputStreamWriter(new FileOutputStream(“D:/test.txt”),"GBK");//确认流的输出文件和编码格式,此过程创建了“test.txt”实例
pw.write("我是要写入到记事本文件的内容");//将要写入文件的内容,可以多次write
pw.close();//关闭流
备注:文件流用完之后必须及时通过close方法关闭,否则会一直处于打开状态,直至程序停止,增加系统负担。
沈磊磊磊
2014-06-02 · 超过39用户采纳过TA的回答
知道答主
回答量:133
采纳率:0%
帮助的人:114万
展开全部
    private static String readDataFromTxT() {
      String line = ""; //用来保存每一行的数据  
      String alltxt="";//保存全部文本数据
     try{
         String pathname="/home/shenlei/test.txt";
         File filename = new File(pathname); 
          InputStreamReader reader = new InputStreamReader(  
             new FileInputStream(filename)); // 建立一个输入流对象reader  
             BufferedReader br = new BufferedReader(reader); // 建立一个对象,它把文件内容转成计算机能读懂的语言  
             line=alltxt=br.readLine();
             int i=0;
         while (line != null) {  
          
          if(i==0){
           line=br.readLine();
           i++;
          }
          else{
            alltxt=alltxt+";"+line;
                line=br.readLine();
                i++;
          }
     }
     }
      catch (Exception e) {  
             e.printStackTrace();  
         }
return alltxt;  

    }

我是分行读入的;现在运行这个程序段。如果我的txt文件是

hello 88

shenlei 85

zhangqiongying 90

输出就是

hello 88;shenlei 85;zhangqiongying 90

我这样的的话到时候就可以人为的通过分号分组了,以后就很好操作数据。

希望可以帮助你

追问
用buffer是很好实现,现在我想用对象输入输出流
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kexin_bo
2014-06-01 · 超过28用户采纳过TA的回答
知道答主
回答量:79
采纳率:0%
帮助的人:62.3万
展开全部
ObjectInputStream 读取
追问
重新打开后的调用写进这里面。那么程序刚开始文件内是空的。会报错
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式