51Testing软件测试论坛

标题: 最近在写自动化,使用java+selenium,如何实现删除生成文件中的内容? [打印本页]

作者: 菜鸟小丸子    时间: 2017-5-22 15:20
标题: 最近在写自动化,使用java+selenium,如何实现删除生成文件中的内容?
如题:
1、我自动化是模拟页面下单,下单成功后会把订单号全部保存到一个指定的文件中:orderrecord.csv中
2、订单完成后我有个取消订单的流程,取消订单的输入值是从1中的orderrecord.csv中获取的订单号
3、我想实现订单取消完成后,把1中orderrecord.csv中的订单全部删除,只留首行,这个要怎么实现了?有懂java的大神帮忙看见不?
orderrecord.csv文件中的内容:
我之前自己写了代码,但是必须要重新生成一个新的文件才可以,我想要在原来文件中删除的:
package PublicClass;

import java.io.BufferedReader;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.OutputStreamWriter;

public class OrderDelete {
        public static String OrderUpdate(String file) {
                BufferedReader bre = null;
                OutputStreamWriter pw = null;// 定义一个流
                String str = null;
                try {
                        bre = new BufferedReader(new FileReader(file)); // 此时获取到的bre就是整个文件的缓存流
                        pw = new OutputStreamWriter(new FileOutputStream(PubPath.pathGet("orderdelet1.csv")));// 确认流的输出文件和编码格式,此过程创建了实例
                        while ((str = bre.readLine()) != null) // 判断最后一行不存在,为空结束循环
                        {
                                if (!str.startsWith("您的订单号")) {
                                        pw.write(str);
                                        pw.flush();

                                }
                        }
                } catch (Exception e) {
                        e.printStackTrace();
                }finally{
                        try {
                                if(bre != null){
                                        bre.close();
                                }
                                if(pw != null){
                                        pw.close();
                                }
                        } catch (IOException e) {
                                e.printStackTrace();
                        }
                }
                return str;
        }
}


作者: jingzizx    时间: 2017-5-22 17:22
感觉找个开发就能解决。。。
作者: 测试菜鸟梦    时间: 2017-5-22 22:11
你要按照一行一行的获取和判断  就使用java中io流的printStream类   使用readline 和 println读和写  可以根据这个方法返回值进行判断么




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2