Jos*_*ion 2 objective-c ios ios5 ios6
我是Objective C的新手,所以我正在尝试做我通常在Java中做的事情,比如将InputStream转换为String.基本上,我想在Objective C中执行这个Java代码...
InputStream in = … //An inputStream i got from http request
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
StringBuilder str = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
str.append(line);
}
String myString = str.toString();
in.close();
Run Code Online (Sandbox Code Playgroud)
我希望我的问题描述得足够清楚!:)
谢谢!
嗯,迦勒是对的,但回答了这个问题:
NSInputStream *inputStream = [[NSInputStream alloc] init];
uint8_t buffer[1024];
int len;
NSMutableString *total = [[NSMutableString alloc] init];
while ([inputStream hasBytesAvailable]) {
len = [inputStream read:buffer maxLength:sizeof(buffer)];
if (len > 0) {
[total appendString: [[NSString alloc] initWithBytes:buffer length:len encoding:NSASCIIStringEncoding]];
}
}
Run Code Online (Sandbox Code Playgroud)
你的encoding论点可能不同.
我是Objective C的新手,所以我正在尝试做我通常在Java中做的事情,比如将InputStream转换为String.基本上,我想在Objective C中执行这个Java代码...
可以理解,但尝试以与在Java中相同的方式执行这些操作通常不起作用.事情并不总是在Objective-C中完成,就像在Java中完成一样,所以你不能只交换新的类名并修改语法.有一个NSInputStream类,但它通常不用于从Web服务器下载数据.简而言之,您不会从http请求中获取输入流.相反,看看NSURLConnection类和NSURLConnectionDelegate协议.实际上,您应该阅读一份名为" URL加载系统编程指南"的完整文档.你将创建一个NSURLConnection实例,给它一个委托,并让它做它的事情.委托-connection:didReceiveData:方法将在数据进入时调用,委托可以对数据执行任何操作,例如将其添加到字符串中.
| 归档时间: |
|
| 查看次数: |
5879 次 |
| 最近记录: |