java 修改文本数据

比如说文本中有如下数据:id1namesexage20id2namesexage30id3namesexage40我要修改指定id那一行最后一个空格后面的数据比如说我要把... 比如说文本中有如下数据:
id1 name sex age 20
id2 name sex age 30
id3 name sex age 40

我要修改指定id那一行最后一个空格后面的数据
比如说我要把id2那一行最后一个空格后面的数据改成null,那么最后的结果是:

id1 name sex age 20
id2 name sex age null
id3 name sex age 40

代码怎么写
展开
 我来答
Dubbo调试工具
2014-01-27 · TA获得超过303个赞
知道小有建树答主
回答量:173
采纳率:0%
帮助的人:105万
展开全部
/**
 *
 * @author ajtdnyy
 */
public class NewClass {

    public static void main(String[] args) {
        String path = "F:\\workspace\\test.txt";
        modifyFile(path, "id2");
    }

    public static void modifyFile(String path, String id) {
        BufferedReader reader = null;
        FileOutputStream out = null;
        try {
            File file = new File(path);
            reader = new BufferedReader(new FileReader(file));
            String line = reader.readLine();
            out = new FileOutputStream(file);
            String outString = "";
            while (line != null && !line.isEmpty()) {
                if (line.indexOf(id) >= 0) {
                    String[] strs = line.split(" ");
                    line = line.replace(strs[4], "null");
                }
                outString += line + System.getProperty("line.separator");
                line = reader.readLine();
            }
            out.write(outString.getBytes());
        } catch (Exception ex) {
            Logger.getLogger(NewClass.class.getName()).log(Level.SEVERE, null, ex);
        } finally {
            try {
                reader.close();
                out.flush();
                out.close();
            } catch (IOException ex) {
                Logger.getLogger(NewClass.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
    }
}
huntagain2008
2014-01-27 · TA获得超过927个赞
知道小有建树答主
回答量:999
采纳率:0%
帮助的人:404万
展开全部
我觉得规范做法就是像楼上说的把数据封装成对象写入内存,然后修改对象的属性,之后再输出数据变成文本。
代码不复杂,自己写。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
不用鼠标哦
2014-01-27
知道答主
回答量:32
采纳率:0%
帮助的人:11.1万
展开全部
把所有数据读到内存, 然后再修改 在写回文件
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友28d8a36
2014-01-27 · TA获得超过110个赞
知道答主
回答量:117
采纳率:0%
帮助的人:64.7万
展开全部
把id2这个字符串付给一个变量然后用indexOf方法得到最后一个空格的所有然后再用replace方法替换索引之后的字符串为null即可
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式