CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  J2SE / 基础类

读取文件问题 :在线等待

楼主rainboy20024(笨猪)2004-04-03 09:59:31 在 Java / J2SE / 基础类 提问

1.我想把数据写入文件   如:file.txt   要求后写入的不覆盖前面的内容  
      2.从文件中任意位置读取数据,并对该行进行修改,然后将其修改后的数据覆盖该行.  
        张三|20|四川  
        小唐|23|重庆  
        李四|18|内江  
      现在我要取出小唐那行数据并将小唐改为小陈   ,怎么办啊!谢谢大哥大姐们  
  问题点数:100、回复次数:13Top

1 楼rainboy20024(笨猪)回复于 2004-04-03 11:09:12 得分 0

怎么?没人回答啊?Top

2 楼programer23(亮子)回复于 2004-04-03 11:25:23 得分 0

共同学习  
  我帮你顶顶              
  在帮你转转帖子。Top

3 楼lixiang823517(泥浆)回复于 2004-04-03 11:31:02 得分 0

从文件读出数据,放为VECTOR,或者hash*类的东西,修改后再覆盖原来的~  
  Top

4 楼runki(runki)回复于 2004-04-03 11:33:47 得分 0

同意、楼上的Top

5 楼songbo_pp(想换个工作)回复于 2004-04-03 12:14:22 得分 10

用java.io.RandomAccessFile。  
  RandomAccessFile(File   file,   String   mode),mode为"rw",可以以追加模式打开文件。  
  seek(long   l)可以实现文件光标定位。  
  Top

6 楼Danger2000(飞鱼)回复于 2004-04-03 13:06:44 得分 25

同意楼上的方法,不过建议把每行都应该是相等的字符,这样用seek()就比较方便定位在某一行上。不够的可以补空格,读取的时候可以用StringTokenize类进行出去,并用trim()去掉多余空格。Top

7 楼mbl(小马)回复于 2004-04-03 15:15:07 得分 5

UOPTop

8 楼rainboy20024(笨猪)回复于 2004-04-03 16:00:53 得分 0

lixiang823517大哥:  
                                  不会吧,取出来再放回去,如果我有很多数据呢?Top

9 楼rainboy20024(笨猪)回复于 2004-04-03 16:04:26 得分 0

Danger2000(飞鱼)大哥,能否给点定位的代码就像,将文件指针定位于23的2的位置,谢谢大哥了Top

10 楼Danger2000(飞鱼)回复于 2004-04-03 16:44:19 得分 20

to     rainboy20024(鹰鹰)   :  
   
  long   lineLength   =   每行的长度;  
  long   nameLength   =   姓名部分的长度;  
  in.seek(lineLength   *   2   +   nameLength   +1);     //把指针定位在23的2的位置前Top

11 楼Danger2000(飞鱼)回复于 2004-04-03 16:45:19 得分 0

不好意思,错了,是定位在18的1之前。。。Top

12 楼fruitking(坚持我的选择)回复于 2004-04-03 17:03:30 得分 40

可以跳过已经写入的文件长度再写  
   
  试试  
  import   java.io.*;  
   
  public   class   myFile  
  {  
  public   myFile()  
  {  
  init();  
  RecordAppend("xuguo");  
  }  
   
  public   void   init()  
  {  
  try  
  {  
      String   Record="zhoukun";  
                      String   myFilePath="D:/jspServer";  
              String   myFileName="myWriteFile.txt";  
              File   dir=new   File(myFilePath,"newFile");  
              dir.mkdir();  
              File   f=new   File(dir,myFileName);  
              FileOutputStream   o=new   FileOutputStream(f);  
              BufferedOutputStream   myin=new   BufferedOutputStream(o);  
              byte   c[]=Record.getBytes();  
              myin.write(c);  
              myin.flush();  
              myin.close();  
          }  
          catch(IOException   e)  
          {  
          System.out.println(e);  
          }  
  }  
   
  public   void   RecordAppend(String   strAppend)  
  {  
  try  
  {  
      int   filelength;  
      int   writelength;  
                      String   myFilePath="D:/jspServer/newFile";  
              String   myFileName="myWriteFile.txt";  
              File   f=new   File(myFilePath,myFileName);  
              FileOutputStream   o=new   FileOutputStream(f);  
              BufferedOutputStream   myin=new   BufferedOutputStream(o);  
              byte   c[]=strAppend.getBytes();  
              filelength=(int)f.length();  
              writelength=strAppend.length();  
               
              myin.write(c,filelength,writelength);  
              myin.flush();  
              myin.close();  
          }  
          catch(IOException   e)  
          {  
          System.out.println(e);  
          }  
  }  
   
  public   static   void   main(String   args[])  
  {  
  new   myFile();  
  }  
  }Top

13 楼rainboy20024(笨猪)回复于 2004-04-03 18:33:29 得分 0

谢谢大家,还麻烦大家一下:  
    如果我要用文件进行存储,并在图形界面进行查询,譬如:我要查询"小唐"该怎么找啊,用VECTOR,或者 hash* 之类吗?还是读取每行,并进行切割,比较?  
  Top

相关问题

  • CStdio类文件读取问题,在线等待1小时
  • 一个配置文件的读取???(在线等待)
  • 读取文件问题。。。在线等待,急
  • 使用ASP读取Excel文件的问题(在线等待)
  • 对动态文本文件的读取问题!!!!!!在线等待!!!!!
  • asp读取服务器上文件失败!在线等待。。。。。。。。
  • 文件流的读取问题 --在线等待
  • c 如何读取大文件?(在线等待)
  • 读取文本文件内容?在线等待,解决即给分,急!
  • 请问:如何从文本文件中读取数据?急,在线等待!!

关键词

  • 文件
  • 数据
  • 修改
  • myin
  • 读取
  • myfilepath
  • myfilename
  • bufferedoutputstream
  • 大哥
  • 写入

得分解答快速导航

  • 帖主:rainboy20024
  • songbo_pp
  • Danger2000
  • mbl
  • Danger2000
  • fruitking

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo