aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAx4AAAI7CAIAAADtTtpYAAAgAElEQVR4nO3dX6xlV33Y8f3UJFUqHqJKtFJCK7WKW9I+dIJUgRS1UpMQp20ID3nIU6VCADsOCZA6gSS0+dMCprSQQj0GJ05DbYc5Y2yPjf+N67EHj+3QMtEAIe3QiRucYJsELpKrthkPpw9jX5+1z97r7L3W79yzz7mfj5ase/fde52199n3nO/cGc80pwAACNKcOnXqIgDApj32utdt0eg8BWkFAEzFxmtJWgEAu2PjtSStAIDdsfFaklYAwO7YeC1JKwBgd2y8lqQVALA7Nl5L0goA2LArxshPtfFaklYAwIZNLa3mLxq4fTNpdeHChXMjXbhwoeT5AQC2ytTSqrOiwruqNq3OnTt39uzZCwvOnj17+uQtv3vnNZfHE3dc8/jtP/nobVefnl196hNXPXTXh8+dO1fy/AAAW2VlMA3fM7B7FltqHV0VkFatn0JduHDhzL0f+P2bX/HkPd//v+6/8sl7X/s/7/5H/+OOf/DF2159+vpXPHjLVdIKDrXzN7y+6xes1z6w6YU9cO0VV7z+hvObXgbskGmm1WJRraOr1pNW93zgvx/723/+1K3f/Oo933z29m9+5eZLT91w6cnrHvutV93722+WVnCoTTGtHrj2hVVIK4g02bRa38+r1pVWj37qA5+/5Yr/90c3XfrKzZeeOnrpyesufeldl/7gqlNH/9aJ33yTtIJD7XJabf6HVJe9FFWvf720gmCTTaup/9Tq8ccfX/xT6k888cTpu/7tZ3/rb/zfL73v0pPvu/Sldz3/B1c//7kff/7sD933we+87aNvlFZwqE0vra594OKLy5JWEGmaabUFf9bqkRs+dPpn3/DQO9548u1vvPdtP/HA0V8/def7Hz36Xf/n82+99MWrn//cj188e+XFz7z64mPfc+K67/jE9W+QVnCoDUmr/Z8ldf1m4f4EL/zW4uUceuDaFz986eD94xbm64snaQXxJphW2/F/CD7yjjc89qqXf/ZHX/PYa7/3zr/7V+7+mTedvP26Bz748v/9mR99/uyVz3/mNRcf+zsXH/1rFx95+Sf/9bff+hFpBYfbirTq+aNYCwe8MMENL+6YpNUN1y4d1uq0nseWVhBvamm1HX+v1blz5x58+xt/93Wv+cbxW5/99X931z981Sd/+s33Hb/ujvd8x1dP/r1vPPTKb5x8xd59f3nvnpft3fOyY//q227+8D+XVnCodbbTi0nz4hcX66e9bX+CJJFeDKj9OFp4nP1tL+zU1VbSikOn8xcxnWoeImrPwB8pHcDoPIURaXXP237i1A++6tn/8IEn33rVrd/7ylt/6i2fOva+m975l/7TL7zsN37+2z/6L/7i0Xd82/Vv/9br3/4t//6ab5FWcNjl0qqvby4n0QtF9MIErT5KdrnYu+NLv2/YuSxpxSFyMGkV9Sgbr6UDTas7fubNd736e/7wp6/6/A9//43f/dd/+5qrHrz/9k994n13/c57T9z63jtvec8dN7807j3xcWkFh1ruNwT7wic5pnuCjkO7dpRWsJ02XksHmlbH3vqWG6/4rk9+39+/5ZXf/Z7v/Ks3/uTVdz/46I33/N7l8bFPnb3hrs9+7MR/PfnQw1/4whfOnj0rreBQk1bAeBuvpQNNq0/+m1/96D/5wY/849d+8Id/6P1XXvmff/XXjt3/xDtve/LX7nr6l+985l3Hn37bx//obb/5uXtOPvLMM89c/jcHoy84sD1WplXH15IgklZwCG28lg40rU6fPn3mzJkzZ848/PDDn/70p0+fPv079z3+c5/4w4/9l4sfunf+7tn8LTd8/Z+9/4m7739YWgH5/0Mw88fYW38+XVrBobLxWjrQtDp//vxzzz23t7d35syZp5566vz58x8/8eibrv/i++/683fP5lff+M0fe++z//TnHjpx7ylpBRT+5QsLzSOt4BDaeC0daFpd/odunnvuuTNnzlyOp9+YPfIj737sx37l937kF8/+wM/+t++75swPvPX+O+95SFoBQ/7K0FZetXpHWsEhtPFaOtC0Onv27IULF86fP3/69OnLf1D9trtP/cpHT/3L//jQL334wV/40Ml3fvCBX/7IyfseeMgfYwcACmy8lg4urS7/FGqU1j/nDACw84amFQAAK0krAIAw0goAIIy0AgAII60AAMJIKwCAMNIKACCMtAIACCOtAADC5NLq9wEA6FGSVnsAACyRVgAAYaQVAEAYaQUAEEZaAQCEkVYAAGGkFQBAGGkFABBGWgEAhJFWAABhpBUAQBhpBQAQRloBAISRVgAAYaQVAEAYaQUAEEZaAQCEkVYAAGGkFQBAGGkFABBGWgEAhJFWAABhpBUAQBhpBQAQ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rQAgIa1qSCtpBQAJaVVDWkkrAEhIqxrSSloBQEJa1ZBW0goAEtKqhrSSVgCQkFY1pJW0AoCEtKohraQVACSkVQ1pJa0AICGtakgraQUACWlVQ1pJKwBISKsa0kpaAUBCWtWQVtIKABLSqoa0klYAkJBWNaSVtAKAhLSqIa2kFQAkpFUNaSWtACAhrWpIK2kFAAlpVUNaSSsASEirGtJKWgFAQlrVkFbSCgAS0qqGtJJWAJCQVjWklbQCgIS0qiGtpBUAJKRVDWklrQAgIa1qSCtpBQAJaVVDWkkrAEhIqxrSSloBQEJa1ZBW0goAEtKqhrSSVgCQkFY1pJW0AoCEtKohraQVACSkVQ1pJa0AICGtakgraQUACWlVQ1pJKwBISKsa0kpaAUBCWtWQVtIKABLSqoa0klYAkJBWNaSVtAKAhLSqIa2kFQAkpFUNaSWtACAhrWpIK2kFAAlpVUNaSSsASEirGtJKWgFAQlrVkFbSCgAS0qqGtJJWAJCQVjWklbQCgIS0qiGtpBUAJKRVDWklrQAgIa1qSCtpBQAJaVVDWkkrAEhIqxrSSloBQEJa1ZBW0goAEtKqhrSSVgCQkFY1pJW0AoCEtKohraQVACSkVQ1pJa0AICGtakgraQUACWlVQ1pJKwBISKsa0kpaAUBCWtWQVtIKABLSqoa0klYAkJBWNaSVtAKAhLSqIa2kFQAkpFUNaSWtACAhrWpIK2kFAAlpVUNaSSsASEirGtJKWgFAQlrVkFbSCgAS0qqGtJJWAJCQVjWklbQCgIS0qiGtpBUAJKRVDWklrQAgIa1qSCtpBQAJaVVDWkkrAEhIqxrSSloBQEJa1ZBW0goAEtKqhrSSVgCQkFY1pJW0AoCEtKohraQVACSkVQ1pJa0AICGtakgraQUACWlVQ1pJKwBISKsa0kpaAUBCWtWQVtIKABLSqoa0klYAkJBWNaSVtAKAhLSqIa2kFQAkpFUNaSWtACAhrWpIK2kFAAlpVUNaSSsASEirGtJKWgFAQlrVkFbSCgAS0qqGtJJWAJCQVjWklbQCgIS0qiGtpBUAJKRVDWklrQAgIa1qSCtpBQAJaVVDWkkrAEhIqxrSSloBQEJa1ZBW0goAEtKqhrSSVgCQkFY1pJW0AoCEtKohraQVACSkVQ1pJa0AICGtakgraQUACWlVQ1pJKwBISKsa0kpaAUBCWtWQVns33XTTlwGABdKqmLTa2/SvDQBgijb9/rytpBUAQBhpBQAQRloBAISRVgAAYaQVAEAYaQUAEEZaAQCEkVYAAGGkFQBAGGkFABBGWgEAhJFWAABhpBUAQBhpBQAQRloBAISRVgAAYaQVAEAYaQUAEEZaAQCEkVYAAGGkFQBAGGkFABBGWgEAhJFWe8eOnzAMwzAMozU2/f68raTV3rHjJ+YAwAJpVUxaSSsAaJNWxaSVtAKANmlVTFpNMa2aphm1nc3yvJTZ1eu2q+cVxfXZFtKqmLR6Ka2appnC9/yBddW6z7ds/pVHTeRp2jepxdQ44Asb8lhTuxnmG7ofAq9D8VQDD5za80WGtComrZKfWk3h2/4gf2S17vNdR1qVTbs+k1pMpe1Kq/0ZJvUULC6mWdL5pcwMo7a3dqiJpLKdC9IqcxFGrT9zPUP2n/ecXf55zJxX33UYe8oDdy4jrYpJqxFpdTDRczCPsr45D2D+yb6VbrstTavwmWtkUiPTQPsfFHRG31t+5qt5xe/uY9Nq7MdD5hxySMH+fc9L36ed13/s/ZBf0vCdi0mrYtJqWml1wO8W0qrSdFYS4sBOJ+SBJphWmYce8habn2T49sorsL60yu98eUvB6aw7rfp2K0jnUdsHrmR9N7y0KiatOtJq+dcoTSq/ff/jzK91Ql49M4+bf5SV55tZZ+d1KJh/+Mblx+08wYFLyjzKkCe38wT71tmadvjz0jnPwO2dW4Yf0rfz8HXmH3TxgYac17zrivU9NZ3b89d/7HXLrLPzvDq3j/o0sz1zHToXv3yCQ6bKzNNaVf5xO3fOT9i3Z36HlfuX7bxyYYu33MqHyFyKdZxv3/OYuX/m0qqCtGqnVcEd3/filZmn5nV53v9tufjaNPz7LT/tyh0K5h/yCpvZMuolLDPVwLUNf8Uf9bw0XQYucuWaFz8dPm3n81W2zlHfR2PPsW9Lfs/l53HsdcufSOb261xS62KunGfU+Q45zZXnlTnBvntg+POef5ryey7LXM/8IQN37ltG5+OuPPFR98PKlaw8ZPg93zpQWhWTVrnfEBx4B698LRj4DVw8f2t73yvUypnHvtQWz7+4ZcjZFbz0D1nPwPmHv+Kv6XlZuc7FLUOuSfH8IfMUx0Tl92Pm+pddt+GXK3PKxVdjyOQrH2vU/p3bRyXFkGUPvyBD1jz8wLI9V16TlQdm5hm4kjV9n86lVQVptZVpNV/4Vc7ynutLq77HHTv//jyd69zetJoHPS+ZeVpaX8qcy8qNA48duM6x00bN07k9c/3HXre+61+wnoGfBs5fcP93nu/y9iHXcOVpdk6SWfbwmUcdPny3gdd55WUfu/7A79PM/TyXVhWk1VTSauzraf6xyl4sRn2rF5xU5/xDXkkrX8JW7pCff8jbxsA5x77oz1ddq5X7jHruat6iBq5h1HWL+n6cD3gSK+/5UV8KPK9R85fd/3nFz/v+M9L37TZ8GQeQJp27jX1dWtPrWNT36TJpVUxalaTVyu2tXwEs7z+kJzLbV76cDXnEzInMe0428/Go+fsuVOdRmcfKbB9bIZnzXfmuvHLyvkn6DLnmnWtePvFR16HmJT5zP6x8NR91jiuXt/Kp7Nxz7PObX3Z+qoGvMyvnGbjUsff8qPthyHO38ti+GybzjZxZ2MrDx+7fdwo1r599+wxcT+b7Ir/ygc/XZdKqmLRq/23srdt6+ebr+17tfB3v3L/s/W95hr7Jlw/ML3vUOgsuS/6Qzmueeei+Q/rmzKwqf76Lsy0/aH7mgc/LyhX2LXLI9cxczNZUQz4dtc7WAlrbR53vvOvZHHhqnUvq23Pgdev80sqr1LfC5XlCtre+OmT74sbFr466FJl1Zi7OqMWvnGf5+tTvn7nOK6/PkMctWP/Kr45aZN9U0qqYtFrLvyE4/BUhv//YeTgYnpe8w3Y/7+p5RRlyffJZs4ZFsZq0Kiat4tNq7K+3YJe4/1mHpsumFzUh67g+0qqYtFrLT60AYKtJq2LSSloBQJu0KiatpBUAtEmrYtJKWgFAm7QqJq2kFQC0Sati0kpaAUCbtComrfaOHT9hGIZhGEZrbPr9eVtJKwCAMNIKACCMtAIACCOtAADCSCsAgDDSCgAgjLQCAAgjrQAAwkgrAIAw0goAIIy0AgAII60AAMJIKwCAMNIKACCMtAIACCOtAADCSCsAgDDSCgAgjLQCAAgjrQAAwkgrAIAw0mrv2PEThmEYhmG0xqbfn7eVtNo7dvzEHABYIK2KSStpBQBt0qqYtJJWANAmrYpJK2kFAG3Sqpi0qkqrpmkC7+N6617PWudvmmar1z/BxwUoJq2KSat2WjWp/J3XucPisQPnibKRNBl1xQrmDzRk/et4vqQVsHWkVTFplaRV6y1wyDti37v1qEkCbapOQhaQPzbk1JYn2d+y/EHUQ9TPCXDApFUxafVSWmXedDOk1fLG4jVsJK1i5++bR1oB20VaFZNWubRq6futonyTLWdH5+86LW/P/8Zi5nevOmfe3975EMuP1fmgQ853+fQHnu/igX2Xom89y484av2Z7WPXn19nZv55z3XLLHj4euY9V6lznQBzaVVBWh1oWg35ePlLi4Wx8tjMls7375UPml9efoch2zs/HnidM3OOWn/f9rHrr5m/84meL53LkJlXXtKBFwQ4zKRVMWk1Iq36lKVVZoaVh+SXOjythixg5aeZHQZu71znykUWPO6QRy+Yf+U8lfPXpNW8K86kFbCStComrQLSavnY/E8IOt/qWvoOz8+TX09fuAx/yx+4w2IiZM6r7zp0PuKoZYxdf2a3UevPTD5kYTVp1bfO+cJVHbg/wFxaVZBWtX+MvXPPgW005IGGvK0O2RiSLAN36EuETp3XYTpp1bfssqPWl1b5r46dEEBaFZNWvX/5Qt/PMPruwr5jx368chlDduibM98Bo97aa86r4NiVhy//SGn4+gduWbn+zG6d+/etObN9yLkMuT6ZwwHm0qqCtOr9K0OX77PhadU3T7Ogc/Ll99Gx82TWk1nk4mx9y+ibP7POvqXmN+YfdMjG/CR916dy/SvXufJxM1djyLR96+w8u5WnABxy0qqYtAr7NwSn9ha17vVM7XwXDVnbptafedyBNQZwAKRVMWkV+c8zT+0t8HDW1fAfxkyqrlb+2OxAlgbwAmlVTFpFphUA7AZpVUxaSSsAaJNWxaSVtAKANmlVTFpJKwBok1bFpJW0AoA2aVVMWkkrAGiTVsWk1d6x4ycMwzAMw2iNTb8/bytpBQAQRloBAISRVgAAYaQVAEAYaQUAEEZaAQCEkVYAAGGkFQBAGGkFABBGWgEAhJFWAABhpBUAQBhpBQAQRloBAISRVgAAYaQVAEAYaQUAEEZaAQCEkVYAAGGkFdM1212bvrSEOXJ0vqtj05cWtpW0Yrp2NUF29bwOp11NkF09LzgA0orpms1mX99F0mqXHDk63/QNtRbSCopJK6YrJK2aATLH1i9gmbTaJSFpVXZ/7h9bv4Bl0gqKSSumazabfa1a0zSjdlj8dOWxZaTVLjlydF5/S2TutM4vHcBdKq2gmLRiuqaQVi316/matNotU0irddyl0gqKSSumazab/Vm1pmku/7fT/g6t/Zc/DiStdsmRo/P6WyL/G4Kd+3d+HEhaQTFpxXTNZrM/rdY0zagdFj9deWwZabVLjhyd198SE7xLpRUUk1ZM1wGnVf4nB/vqlyStdskBp9WB3aXSCopJK6ZrNpt9tVrTNPsftLR2ODDSapccOToPuStW1lLIowwnraCYtGK6ZrPZs9Wapml9kN+e/1IIabVLjhydr+MmWWndd6m0gmLSiunaSFotftr3cSVptUsC0ypT+Znta7pLpRUUk1ZM12w2e6Za0zStDzLbh+xTT1rtkiNH51E3xvJt1nnjHcxdKq2gmLRiumaz2dPVmqbZ/6CltUPfsZkdykirXXLk6Lzyflj5p6wWb9fOw59ew10qraCYtGK6YtOqYIf8W1oxabVL6tNq3/LNNuT2W9NdKq2gmLRiumaz2VeqNU0zdof9nxPUP3onabVLjhydh9wVnfdb5iZc910qraCYtGK6ZrPZn1Rrmibzpcs6P10fabVLjhyd198SfXfd8vYDu0ulFRSTVkxXSFpNkLTaJSFpNUHSCopJK6ZrNpv98S6SVrvkyNH5pm+otZBWUExaMV3SiumTVkCLtGK6Zrtr05eWMEeOznd1bPrSwraSVgAAYaQVAEAYaQUAEEZaAQCEkVYAAGGkFQBAGGkFABBGWgEAhJFWAABhpBUAQBhpBQAQRloBAISRVgAAYaQVAEAYaQUAEEZaAQCEkVYAAGGkFQBAGGkFABBGWgEAhJFWAABhpBUAQBhpBQAQRloBAISRVgAAYaTV3kkAYMmm35+3lbTaO3ny5F+4/W8ahmEYhrE/pFUxaSWtDMMwDKM9pFUxaSWtDMMwDKM9pFUxaSWtDMMwDKM9pFUxaSWtDMMwDKM9pFUxaSWtDMMwDKM9pFUxaSWtDMMwDKM9pFUxaSWtDMMwDKM9pFUxaSWtDMMwDKM9pFUxaSWtDMMwDKM9pFUxaSWtDMMwDKM9pFUxaSWtDMMwDKM9pFUxaSWtDMMwDKM9pFUxaSWtDMMwDKM9pFUxaSWtDMMwDKM9pFUxaSWtDMMwDKM9pFUxaSWtDMMwDKM9pFUxaSWtDMMwDKM9pFUxaSWtDMMwDKM9pFUxaSWtDMMwDKM9pFUxaSWtDMMwDKM9pFUxabV3EgBYsun3520lrQAAwkgrAIAw0goAIIy0AgAII60AAMJIKwCAMNIKACCMtAIACCOtAADCSCsAgDDSCgAgjLQCAAgjrQAAwkgrAIAw0goAIIy0AgAII60AAMJIKwCAMNIKACCMtAIACCOtAADCSCsAgDDSCgAgjLQCAAgjrQAAwkgrAIAw0goAIIy0AgAII60AAMJIKwCAMNIKACCMtAIACHpi2LsAAACeSURBVCOtAADCSCsAgDDSCgAgjLQCAAgjrQAAwkgrAIAw0goAIIy0AgAII60AAMJIKwCAMNIKACCMtAIACCOtAADCSCsAgDDSCgAgjLQCAAgjrQAAwkgrAIAw0goAIIy0AgAII60AAMJIKwCAMIVpBQBAp9FpBQDAKNIKACCMtAIACCOtAADCSCsAgDDSCgAgjLQCAAjzQloBABDi/wOzSJGys0Yn+QAAAABJRU5ErkJggg==" alt="" />

private void button1_Click(object sender, EventArgs e)
{
WebClient webclient = new WebClient();
webclient.Proxy = null;
webclient.Encoding = Encoding.UTF8;
richTextBox1.AppendText(webclient.DownloadString(textBox1.Text.Trim()));
webclient.Dispose();
} private void button2_Click(object sender, EventArgs e)
{
WebClient webclient = new WebClient();
webclient.Proxy = null;
webclient.DownloadFile(textBox2.Text, textBox3.Text);
MessageBox.Show("成功!");
webclient.Dispose(); } private void button3_Click(object sender, EventArgs e)
{
WebClient webclient = new WebClient();
webclient.Proxy = null;
webclient.DownloadProgressChanged += webclient_DownloadProgressChanged;
webclient.DownloadDataCompleted += webclient_DownloadDataCompleted;
webclient.DownloadFileAsync(new Uri(textBox2.Text), textBox3.Text);
webclient.Dispose();
} void webclient_DownloadDataCompleted(object sender, DownloadDataCompletedEventArgs e)
{
MessageBox.Show("成功");
} void webclient_DownloadProgressChanged(object sender, DownloadProgressChangedEventArgs e)
{
progressBar1.Value = e.ProgressPercentage;
}

使用WebClient类对网页下载源码,对文件下载保存及异步下载并报告下载进度的更多相关文章

  1. Hadoop之HDFS原理及文件上传下载源码分析(下)

    上篇Hadoop之HDFS原理及文件上传下载源码分析(上)楼主主要介绍了hdfs原理及FileSystem的初始化源码解析, Client如何与NameNode建立RPC通信.本篇将继续介绍hdfs文 ...

  2. maven 下载 源码和javadoc 命令

    摘要:我们在写代码时候,往往是想查看一下源码,看看源码的一些细节内容.一般情况下,在IDE(如eclipse)中近仅仅只需按住ctrl+ 点击对应的方法即可进入对应的源码部分.但是有些时候很多依赖项并 ...

  3. Android———从GitHub上下载源码的方法【Written By KillerLegend】

    首先声明,本文说的是从GitHub上下载源码而非上传源码! 1:下载tortoisegit,下载地址为: https://code.google.com/p/tortoisegit/wiki/Down ...

  4. 【Maven】Maven下载源码和Javadoc的方法

    1:Maven命令下载源码和javadocs 当在IDE中使用Maven时如果想要看引用的jar包中类的源码和javadoc需要通过maven命令下载这些源码,然后再进行引入,通过mvn命令能够容易的 ...

  5. maven 下载 源码和javadoc命令

    1:Maven命令下载源码和javadocs 当在IDE中使用Maven时如果想要看引用的jar包中类的源码和javadoc需要通过maven命令下载这些源码,然后再进行引入,通过mvn命令能够容易的 ...

  6. mvn 下载源码和javadoc

    1. 下载源码,两种: . mvn dependency:sources . mvn eclipse:eclipse -DdownloadSources=true 2. 下载javadoc,两种: . ...

  7. maven编译下载源码

    下载源码 mvn dependency:sources 跳过TEST mvn  -DskipTests

  8. 查看android源码,windows环境下载源码

    查看源码 参考: http://blog.csdn.net/janronehoo/article/details/8560304 步骤: 添加chrome插件 Android SDK Search 进 ...

  9. 上传本地代码到github&&从github下载源码

    最近在玩github,下面简单介绍下githup的使用 将本地代码同步到github. 使用Git GUI同步  1,先下载git,然后安装.右键如图所示. 2,在github里新建一个 reposi ...

随机推荐

  1. mybatis入门(一):jdbc的缺点

    mybatis的基础内容 1.mybatis的框架原理 2.mybatis开发dao两种方法: a.原始dao开发方法(程序需要编写dao接口和dao实现类) b.mybatis的mapper接口(相 ...

  2. 搭建Git服务器-SCM-Manager

    基于配置简单的原则,先试用一下SCM-Manager http://www.scm-manager.org/ 看主页介绍:Very easy installation 安装简单,配置方便,不需要额外的 ...

  3. Centos7 下安装以及使用mssql

    Centos7下安装以及使用Mssql,在这下面玩,主要是发现linux环境下的mysql非常的小,小到只有169M,这在windows上面,动撤几个G的安装文件,会让你直接打消使用MSSQL的勇气, ...

  4. LWM2M简介-学习记录

    1. Lightweight M2M 基础,谁搞出来的 OMA是一家国际组织,因为物联网的兴起, OMA在传统的OMA-DM协议基础之上,提出了LWM2M协议.这个协议基于COAP协议,COAP协议基 ...

  5. 怎样安装Appium

    在浏览器地址栏输入 http://appium.io/ 打开Appium官网: 安装包下载完成后, 一路默认安装, 什么都不用点击, 等待大约10分钟: 安装完成后, 会在桌面生成快捷图标: 启动: ...

  6. Selenium(Python) ddt读取CSV文件数据驱动

    import csvimport unittestfrom time import sleep from ddt import ddt, data, unpackfrom selenium impor ...

  7. Python文件操作大全

    Python 编程文件操作大全   文件打开模式 打开模式 执行操作 'r' 以只读方式打开文件(默认) 'w' 以写入的方式打开文件,会覆盖已存在的文件 'x' 如果文件已经存在,使用此模式打开将引 ...

  8. jdk从1.8换成1.7后,查看版本还是1.8解决方法

    因学习需要,需将jdk从1.8更改到1.7,其中遇到了些小麻烦,如果你也遇到这种麻烦,可以借鉴一下我的解决方法. 1.jdk的安装及环境变量的配置,详见https://jingyan.baidu.co ...

  9. 微服务框架Dubbo与Springcloud的区别

    微服务框架Dubbo与Springcloud的区别 微服务主要的优势如下: 1.降低复杂度 将原来偶合在一起的复杂业务拆分为单个服务,规避了原本复杂度无止境的积累.每一个微服务专注于单一功能,并通过定 ...

  10. 简单的switch嵌套

    //添加list数据 1 public static void main(String[] args) { List<String> al = new ArrayList<Strin ...