augus007

备注:以下文件是win socket 协议写的,如果报编码格式有误,那就是换行和空格有问题,需要你手动一行一行的换行和加空格

一、文件的写

#include "lrs.h"
void saveUser(char *filename,char *name,char *passwd)  //自定义函数
    {
    long file; //获取文件描述符
    char usrname[100]; //这是在栈中定义一个数组空间,用来存放字符串常量。
    file=fopen(filename,"a+");//以写的方式打开文件
    snprintf(usrname,"%s",name); //将一个指针变量存入字符缓冲区。为什么需要有这一步操作
    /* 
    注意:*y和y[]的区别
    char *y="ad";定义的y是一个指针,指向"ad",此处的"ad"是一个常量字符串,放在内存数据区,所以是不可更改的
    char y[]="ad"; 是在内存栈空间数组里,函数名y是栈空间的首地址。所以栈是可以更改值的。
    */
    strcat(usrname,",");
    strcat(usrname,passwd);
    strcat(usrname,"\n");
    fprintf(file,usrname);
    fclose(file);
    }
Action()
{
    char * filename="F:\\test.txt"; //使用\\是为了保证\的原型意义,而不被转义
    char * passwd="haha";
  //第一种定义:name的方法

  //char *name="wang";//将name定义为字符常量,这种定义将使name变成一个死值。

  //第二种定义:name的方法
  char name1[10];
//将name1定义栈数组空间
  sprintf(name1,
"%s",lr_eval_string("wang<NewParam>")); //往name1数组空间中存入可变的字符串。
  
  saveUser(filename,name,passwd);
  return 0;
}

二、读取文件中的数据

#include "lrs.h"

void readUser(char *filename){
    char buffer[50];
    char data[200];
    long file; //获取文件描述符

    file=fopen(filename,"rb");
    while(!feof(file)){
        fgets(buffer,20,file);//每次从文件中读取20个字符,放入缓冲区中
        strcat(data,buffer);//将缓冲区的数据一次添加到data中,从而得到文件中所有的内容
        if(ferror(file)){
            break;
        }
        
    }
    lr_output_message ("%s",data);
    fclose(file);
    }

Action()
{
    char * filename="F:\\test.txt"; //使用\\是为了保证\的原型意义,而不被转义
    char  name[10];
    char * passwd="haha"; 
   sprintf(name,"%s",lr_eval_string("wang<NewParam>"));
 
  readUser(filename);
    return 0;
}

三、上传文件

         Boolean to=null;
         String result=null;
       CloseableHttpClient httpClient = HttpClients.createDefault();
            HttpPost httpPost = new HttpPost("http://dev-voteproject.zhph.lan/syzxEnterInfo/upload");//建立HttpPost对象,改成自己的地址
            File file = new File("C:\\Users\\Administrator\\Desktop\\toupiaoxitong\\toupiaoxitong.jpg");//相对路径使用不了的话,使用图片绝对路径
            if(!file.exists()){//判断文件是否存在
                lr.error_message("文件不存在");
                return 0;
            }
            FileBody bin = new FileBody(file, ContentType.create("image/png",Consts.UTF_8));//创建图片提交主体信息
            HttpEntity entity = MultipartEntityBuilder
                    .create()
                    .setCharset(Charset.forName("utf-8"))
                    .addPart("photo", bin)//添加到请求
            .addTextBody("wechatId","xing<NewParam_2><NewParam_1>")
                    .build();
                
        lr.think_time(3);

        lr.start_transaction("上传图片");

            httpPost.setEntity(entity);
            HttpResponse response= null;//发送Post,并返回一个HttpResponse对象
            try {
                response = httpClient.execute(httpPost);
                if(response.getStatusLine().getStatusCode()==200) {//如果状态码为200,就是正常返回
                    result = EntityUtils.toString(response.getEntity());
                    System.out.println(result);
              JSONObject  jsStr = new JSONObject(result);
              to=jsStr.getBoolean("success");
              
                }
            } catch (IOException e) {
            lr.end_transaction("上传图片", lr.FAIL);
                e.printStackTrace();
            }
            System.out.print("结束");

          System.out.println("totototototo"+to);

        if(to){
        
    lr.end_transaction("上传图片", lr.PASS);

     }else{
        lr.end_transaction("上传图片", lr.FAIL);
        lr.error_message("上传图片失败:"+result);
        }

四、下载文件

    String result=null;
        HashMap<String, String> map2=new HashMap<String, String>();
        if(!("".equals(token))||token==null){

        map2.put("token",token);
        }
        POST p2=new POST(); // 注意此处引入了,自己写的testhttp.jar包
        System.out.println(token);
        result=p2.post("http://47.106.145.191:8081/excelHelpper/downloadMyCaseExcel",map2,"");

        if(result.length()>100){//其实就是直接发送了post请求后,返回的文件流,直接就判断读取到的文件流有多大,文件流直接就给丢弃掉,不做文件保存
        }else{
        System.out.println(result);
        }
        return 0;

 

分类:

技术点:

相关文章:

  • 2021-11-20
  • 2022-03-01
  • 2021-11-03
  • 2021-04-25
  • 2021-06-07
  • 2021-12-14
  • 2021-10-17
  • 2021-10-31
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-10-30
  • 2022-12-23
相关资源
相似解决方案