`
yangsongjing
  • 浏览: 248970 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
社区版块
存档分类
最新评论

与对象有关

阅读更多

package com.cn.sevlet;

import java.io.BufferedReader;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.net.UnknownServiceException;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;

import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.InputStreamEntity;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.DefaultHttpClient;

import android.content.Context;


public class ClientBuilder {

private static final String CHARSET = "utf-8";

@SuppressWarnings("null")
public static String request(Context context, String uri,
UnamParameters param, String httpMethod) throws UnsupportedEncodingException, IllegalStateException, IOException {
String result = null;
HttpClient client = new DefaultHttpClient();


if (httpMethod.equalsIgnoreCase("get")) {
BufferedReader reader = null;
HttpGet get = new HttpGet(uri);
HttpResponse response = client.execute(get);
reader = new BufferedReader(new InputStreamReader(response.getEntity().getContent(), CHARSET));//地址

StringBuffer sb = new StringBuffer();
String line = null;
while ((line = reader.readLine()) != null) {
sb.append(line);
}
reader.close();
result = sb.toString();
return result;
}
else if (httpMethod.equalsIgnoreCase("post")) {
final String MULTIPART_FORM_DATA = "multipart/form-data";
final String BOUNDARY = "infovillage";//分隔符
final String TWO_HYPHENS = "--";
final String ENDLINE = System.getProperty("line.separator");

Map<String, String> table = new HashMap<String, String>();
table.put("product", param.getProduct());
table.put("price", param.getPrice());
table.put("unit", param.getUnit());
table.put("name", param.getName());
table.put("telephone", param.getTelephone());
table.put("address", param.getAddress());
table.put("description", param.getDescription());

StringBuffer sb = new StringBuffer();
Set<Map.Entry<String, String>> set = table.entrySet();
/*文件内容为二进制流的形式*/
for (Map.Entry<String, String> entry : set) {
sb.append(TWO_HYPHENS + BOUNDARY + ENDLINE);
sb.append("Content-Disposition: form-data; name=\"" + entry.getKey() + "\"" + ENDLINE);
sb.append(ENDLINE);
sb.append(entry.getValue() + ENDLINE);
}
sb.append(TWO_HYPHENS + BOUNDARY + ENDLINE);
sb.append("Content-Disposition: form-data; name=\"picture\"; filename=\"uploadImage.jpg\"" + ENDLINE);
sb.append("Content-Type: image/jpeg" + ENDLINE);
sb.append(ENDLINE);
sb.append(param.getPicture());
sb.append(ENDLINE);
sb.append(TWO_HYPHENS + BOUNDARY + TWO_HYPHENS +ENDLINE);

HttpPost post = new HttpPost(uri);
post.addHeader("Content-Type", MULTIPART_FORM_DATA + "; boundary=" + BOUNDARY);
DataOutputStream output=null;
try{
output.writeBytes(sb.toString());
}catch(IOException e){
e.printStackTrace();
}
ByteArrayOutputStream swapStream = new ByteArrayOutputStream();
swapStream.writeTo(output);
byte []bytes= swapStream.toByteArray();
InputStream in = new ByteArrayInputStream(bytes);
output.flush();


post.setEntity(new InputStreamEntity(in, bytes.length));
// System.out.println(sb.toString());
HttpResponse response = client.execute(post);

BufferedReader reader = null;
reader = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));

StringBuffer strbuf = new StringBuffer();
String line = null;
while((line = reader.readLine()) != null) {
strbuf.append(line);
}
result = strbuf.toString();
reader.close();
}
return result;
}

public static InputStream getFile(Context context, String uri,
UnamParameters param, String httpMethod)
throws UnknownServiceException {
InputStream is = null;
if (httpMethod.equalsIgnoreCase("GET")) {
HttpClient client = new DefaultHttpClient();
HttpGet get = new HttpGet(uri);
try {
HttpResponse response = client.execute(get);
is = response.getEntity().getContent();
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
return is;
}



}

分享到:
评论

相关推荐

    类与对象相关基础练习

    计算各种图形的面积,运用类与对象的相关知识

    Codesys汇川AM600面向对象(动作方法属性).pdf

    - **方法**:方法是对象的行为,是与对象相关的操作或函数。 2. **在AM600上的面向对象编程** 在汇川AM600 上,开发者可以利用Codesys 提供的面向对象特性,创建自定义的函数块(FB)和程序,其中可以包含动作...

    驱动对象与设备对象的区别

    DriverObject 域指向与该设备相关的驱动程序对象。 在驱动程序开发中,驱动对象非常重要,因为它拥有一组函数指针,称为 dispatch functions。开发驱动的主要任务就是亲手撰写这些 dispatch functions。当系统用到...

    面向对象分析与设计.pdf

    由于提供的文件内容不包含实际的文本信息,而是重复的URL链接,因此无法从该部分提供有关面向对象分析与设计(OOAD)的知识点。但是,我将尽可能详细地介绍面向对象分析与设计的相关知识点,以满足您的需求。 面向...

    JAVA类与对象及数组习题

    JAVA类与对象及数组习题 JAVA类和对象及数组是JAVA编程语言的基础概念。下面是关于JAVA类和对象及数组的习题,涵盖了构造方法、继承、多重继承、变量声明、数组初始化等方面的知识点。 1. 构造方法的调用方式: ...

    面向对象系统分析与设计.pdf

    不过,可以根据文件标题和描述提供的线索,进行面向对象系统分析与设计相关的知识点梳理。 面向对象系统分析与设计是软件工程领域的一个重要部分,它涉及如何使用面向对象的方法来分析和设计软件系统。面向对象方法...

    解密OOP(面向对象编程)

    - 方法(Method):方法是对象的行为,是与对象相关的函数。 - 访问修饰符(Access Modifier):如public、private、protected,控制类的成员对外可见性。 - 封装的例子:私有变量(private)只能通过公有方法...

    QT父子与QT对象delete

    这意味着只需要销毁最顶层的父对象即可,Qt会处理好所有相关的子对象。 #### 三、示例代码分析 为了更好地理解Qt对象模型的工作原理,我们可以分析几个具体的示例: **示例1:** 基本的父子对象关系 ```cpp int ...

    python面向对象presentation——PPT(含源码).rar

    - 方法(Methods):与对象相关的函数,用于操作或改变对象的状态。 3. **对象的创建和调用** - 使用`class_name()`语法创建对象。 - 对象的方法调用:`object.method()`,其中`method`是对象的方法名。 4. **...

    c++ 类与对象课件,包括对象的初始化,对象的使用,构造函数和析构函数等等

    在这个课件中,我们将深入理解类与对象的定义、使用,以及相关的构造函数、析构函数、访问权限、成员函数、静态成员、友元等关键知识点。 首先,类(Class)是C++中定义的一种数据结构,它包含了数据成员(Data ...

    面向对象的系统分析与设计 课件+课后答案

    面向对象的系统分析与设计是计算机科学领域中的一个重要主题,它涵盖了软件开发过程中的一些关键概念和技术。本资源包括了相关的课件和课后答案,帮助学习者深入理解这一主题。以下将详细介绍其中涉及的主要知识点:...

    C++对象内存模型.pdf

    当我们为类中添加虚函数,我们会发现对象中首个数据的首地址不再与类的对象的首地址相同,而是相差 8 个字节,这与虚函数表有关,是虚函数多态性得以实现的重要基础。 2.3 继承下的多态性 通过继承,C++ 代码可以...

    javascript面向对象之对象的深入理解.docx

    通过以上示例,我们可以看到在JavaScript中,对象是其核心机制之一,几乎所有的操作都与对象有关。无论是通过构造函数创建的对象还是其他数据类型,都可以被看作是对象,并且具有一定的对象特性。这种灵活性使得...

    pbi视觉对象打包

    3. **例子与演示**:描述中提到的"可视化视觉对象和demo"可能包含了一些预设的示例和演示文件,这些可以帮助用户快速了解如何在 Power BI 中应用这些自定义视觉对象,通过实际操作来学习它们的功能和用法。...

    java类与对象教学(2)

    在Java中,对象重构可能涉及重命名变量、方法或类,提取方法,或者将相关属性和行为组合到一个新类中。这有助于提高代码的可读性、可维护性和性能。 2. **this关键字**: `this`关键字在Java中代表当前对象的引用...

    面向对象分析与设计(第3版)

    抽象是指关注对象的属性和行为,忽略不相关的细节;封装意味着将对象的实现细节隐藏起来,仅通过接口暴露给外部;继承是子类获取父类属性和方法的机制;多态则是指不同类的对象对同一消息做出响应的能力。这些概念是...

    JavaScript内置对象相关介绍及用法

    JavaScript内置对象相关介绍及用法ppt JavaScript内置对象相关介绍及用法

    考察对象业绩相关信息采集表(样表).pdf

    "考察对象业绩相关信息采集表"作为评估工具,它通过系统化的信息收集,旨在为教育工作者的工作表现提供全面分析,确保评价的公正性和完整性。通过对教师的履职能效、工作亮点与改进空间、个人工作体会与自我评价以及...

Global site tag (gtag.js) - Google Analytics