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