我想从网站下载图像.我正在使用的代码在图像可用时工作正常.如果图像不可用则会产生问题.如何验证图像的可用性?
码:
方法1:
WebRequest requestPic = WebRequest.Create(imageUrl);
WebResponse responsePic = requestPic.GetResponse();
Image webImage = Image.FromStream(responsePic.GetResponseStream()); // Error
webImage.Save("D:\\Images\\Book\\" + fileName + ".jpg");
Run Code Online (Sandbox Code Playgroud)
方法2:
WebClient client = new WebClient();
Stream stream = client.OpenRead(imageUrl);
bitmap = new Bitmap(stream); // Error : Parameter is not valid.
stream.Flush();
stream.Close();
client.dispose();
if (bitmap != null)
{
bitmap.Save("D:\\Images\\" + fileName + ".jpg");
}
Run Code Online (Sandbox Code Playgroud)
编辑:
Stream有以下声明:
Length '((System.Net.ConnectStream)(str)).Length' threw an exception of type 'System.NotSupportedException' long {System.NotSupportedException}
Position '((System.Net.ConnectStream)(str)).Position' threw an exception of type 'System.NotSupportedException' long {System.NotSupportedException}
ReadTimeout …Run Code Online (Sandbox Code Playgroud) 我不明白为什么这不打印"这是一个测试42",就像我期待的那样?
1 #include <stdio.h>
2 #include <stdarg.h>
3
4 #define ME(x) blah x
5
6 void blah(const char *fmt, ...)
7 {
8 va_list arg;
9
10 va_start(arg, fmt);
11 printf(fmt, arg);
12 va_end(arg);
13 }
14
15 int main()
16 {
17 ME(("this is a test %d\n", 42));
18
19 return 0;
20 }
Run Code Online (Sandbox Code Playgroud)
相反,它是这样的:
$ gcc blah.c
$ ./a.out
this is a test 1606416656
Run Code Online (Sandbox Code Playgroud) 如何禁用MapView的平移/缩放功能(不是缩放控件,我想要一个完全静态的地图)?
我也注意到触摸地图似乎没有触发MapView onClickListener,任何人都可以详细说明原因吗?
我想要一个函数来改变一个字段,"is_featured"为给定ID的事件模型的1(真实),以将事件标记为"特色".
class EventsController extends AppController{
function feature($id){}
}
Run Code Online (Sandbox Code Playgroud) 我有一个getA()具有以下签名的函数:
class A {
public:
typedef std::tr1::shared_ptr <A> Ptr;
//other member functions....
};
class B {
public:
A::Ptr getA();
};
Run Code Online (Sandbox Code Playgroud)
并且,我希望getA()在相同的情况下返回一个空指针; 另外,作为用户Class B,我需要getA()在使用之前测试返回值是否为null.我该怎么办?
我需要澄清一个问题,为什么我们需要范围解析运算符或this指针来访问模板基类中公开继承的成员.据我所知,这是为了增加清晰度,但是如何this增加任何进一步的清晰度,而不仅仅指出它是该类的成员.
为了使我的问题更清楚,我添加了一些代码.
#include <iostream>
using namespace std;
template <class T, class A>
class mypair {
public:
T a, b;
public:
mypair (T first, T second)
{a=first; b=second;}
virtual void printA()
{
cout<<"A"<<a<<endl;
cout<<"B"<<b<<endl;
}
};
template <class T, class A>
class next: mypair<T,A>
{
public:
next (T first, T second) : mypair<T,A>(first, second)
{
}
void printA()
{
cout<<"A:"<<mypair<T,A>::a<<endl; // this->a; also works
cout<<"B:"<<mypair<T,A>::b<<endl; // this-b; also works
}
};
int main () {
next<double,float> newobject(100.25, …Run Code Online (Sandbox Code Playgroud) 我们正在考虑从Scrum转向更加看板的开发方式,但有一点我不清楚如何监控看板下的进度.
我已经读过,可以通过监控每个故事的周期时间来衡量进度,然后可以假设将这个时间应用于优秀故事的数量.但在我看来,这取决于故事的大小和复杂性,这些故事可能都是不同的.
我还看到了使用的燃尽图表,那么整个版本会有一个图表吗?由于待办事项未得到修复(与冲刺期间不同),您是否只是允许它燃烧上/下,因为PO会修改待处理的待办事项?我想当你接近发布时,积压应该是不那么不稳定,让你完成燃尽.
经过进一步思考后,我认为我的问题是我们的经理们喜欢燃烧图表带来的"幻觉"控制.他们倾向于将其视为(我认为是错误的)作为时间表,因此能够做出像项目"按计划"或"落后于计划"等判断.我不知道这是如何在看板中复制的.也许这是一件好事.
可能重复:
Java类中的线程安全性
我在实践中阅读Java并发性,并且我找到了一个令我困惑的例子.
作者声明这个类不是线程安全的
public class MutableInteger {
private int number;
public int getInt() {
return number;
}
public void setInt(int val) {
number = val;
}
}
Run Code Online (Sandbox Code Playgroud)
并且他们还声明只同步一个方法(例如setter)不会; 你必须同步两者.
我的问题是:为什么?不会同步setter吗?
我尝试在谷歌上找到解决方案,但运气不佳,也许这里有人知道如何做到这一点?