小编Had*_*iRj的帖子

动态获取命令行输出

我在c#中使用命令行运行一个程序,这个程序产生一些日志,而它运行时需要在它发生变化时显示这些日志.我写了下面的代码,但它显示了进程被杀死后的所有日志,并且在运行期间我的程序没有响应.我该怎么解决?

问候

ProcessStartInfo procStartInfo = new System.Diagnostics.ProcessStartInfo("cmd", "/c " + "C:\\server.py");
Process proc = new Process();
procStartInfo.WindowStyle = ProcessWindowStyle.Hidden;
procStartInfo.UseShellExecute = false;
procStartInfo.RedirectStandardOutput = true;
//procStartInfo.CreateNoWindow = true;
proc.StartInfo = procStartInfo;
proc.Start();
string output = proc.StandardOutput.ReadToEnd();
proc.WaitForExit(300);
LogstextBox.Text = output;
Run Code Online (Sandbox Code Playgroud)

编辑: 嗯,我试图使用,OutputDataReceived但它没有显示任何结果,这里是更改的代码:

{
            //processCaller.FileName = @"ping";
            //processCaller.Arguments = "4.2.2.4 -t"; this is working
            processCaller.FileName = @"cmd.exe";
            processCaller.Arguments = "/c c:\\server.py"; //this is not working
            processCaller.StdErrReceived += new DataReceivedHandler(writeStreamInfo);
            processCaller.StdOutReceived += new DataReceivedHandler(writeStreamInfo);
            processCaller.Completed += new EventHandler(processCompletedOrCanceled);
            processCaller.Cancelled += …
Run Code Online (Sandbox Code Playgroud)

c# command-line

16
推荐指数
1
解决办法
2万
查看次数

在Android中以编程方式创建L2TP/IPSec VPN连接

我读到Android >=4不再包含VPN连接配置文件(例如:),L2TP/IPSec并且只提供了一个基本处理程序VpnService.

现在我们必须自己实现一切,是否有任何提供基本L2TP/IPSec通信代码的java库?

我希望能够使用此库,将其与VPN服务集成并在Android应用程序中使用它.

在此先感谢大家.

java vpn android ipsec l2tp

15
推荐指数
0
解决办法
1625
查看次数

反序列化json序列化的CookieCollection

在我的代码中,我必须将Json序列化一个CookieCollection对象并将其作为字符串传递,为实现这一点我喜欢这样:

var json = Newtonsoft.Json.JsonConvert.SerializeObject(resp.Cookies);
Run Code Online (Sandbox Code Playgroud)

导致以下json

[
 {
  "Comment": "",
  "CommentUri": null,
  "HttpOnly": false,
  "Discard": false,
  "Domain": "www.site.com",
  "Expired": true,
  "Expires": "1970-01-01T03:30:01+03:30",
  "Name": "version",
  "Path": "/",
  "Port": "",
  "Secure": false,
  "TimeStamp": "2015-06-01T12:19:46.3293119+04:30",
  "Value": "deleted",
  "Version": 0
 },
 {
  "Comment": "",
  "CommentUri": null,
  "HttpOnly": false,
  "Discard": false,
  "Domain": ".site.com",
  "Expired": false,
  "Expires": "2015-07-31T12:19:48+04:30",
  "Name": "ADS_7",
  "Path": "/",
  "Port": "",
  "Secure": false,
  "TimeStamp": "2015-06-01T12:19:46.3449217+04:30",
  "Value": "0",
  "Version": 0
 }
]
Run Code Online (Sandbox Code Playgroud)

为了反序列化这个json我想做这样的事情:

var cookies = Newtonsoft.Json.JsonConvert.DeserializeObject<CookieCollection>(json);
Run Code Online (Sandbox Code Playgroud)

但它失败并提出JsonSerializationException

无法创建和填充列表类型System.Net.CookieCollection.路径'',第1行,第1位.

所以我将我的代码更改为以下内容并立即开始工作

var tmpcookies …
Run Code Online (Sandbox Code Playgroud)

c# serialization json.net httpcookiecollection json-deserialization

8
推荐指数
1
解决办法
2045
查看次数

获取与 DOM 元素关联的事件列表

在 Firefox 中,可以在开发人员工具的 Inspect Element 中查看与每个元素关联的事件。 在此处输入图片说明

我想以编程方式获得与之关联的元素和事件列表。最好使用硒+蟒蛇。

我知道getEventListenersChrome 的开发者工具中有可以使用的功能,但在 Selenium 中无法访问。

我经历了这个问题中提供的大多数解决方案,但没有找到解决我的问题的方法。

我的最终目标是迭代给定页面的 throw html 元素并执行每个元素的事件。

python selenium google-chrome-devtools puppeteer chrome-devtools-protocol

7
推荐指数
1
解决办法
331
查看次数

将c#类型注入Ironpython

现在我可以使用以下代码来访问我的c#类型,IronPython如下所示

import clr
clr.AddReference('myDLL.dll')
import myType
obj = myType()
Run Code Online (Sandbox Code Playgroud)

但是我不希望脚本开发人员clr.AddReference('myDLL.dll')Python源代码中使用行,并将myDLL.dll(和/或c#类)直接c#注入ScriptEngine,因此以前的代码类似于:

import myType

obj = myType()  
Run Code Online (Sandbox Code Playgroud)

我该怎么做到这一点?

c# python ironpython

4
推荐指数
1
解决办法
268
查看次数

Java中内部和外部循环定义对象的不同之处

今天我正在努力学习我的部分代码,从文件中读取一些数据并将它们作为属性添加到对象中(我知道如何在没有这个麻烦的情况下添加/读取文件中的对象,但是想要这样做)如下:

文件是这样的:

111,john,23.1
222,jack,22.5
234,adam,12.8
Run Code Online (Sandbox Code Playgroud)

我试图使用以下内容读取此文件:

public ArrayList<Staff> LoadAllStaffs(){
    ArrayList<Staff> staffs = new ArrayList<Staff>();
    File file = new File(stafffile);
    Staff tmpstaff = new Staff();
    try {
        BufferedReader inputfile = new BufferedReader(new FileReader(stafffile));
        String tmp;
        while((tmp = inputfile.readLine()) != null){
            StringTokenizer st = new StringTokenizer(tmp , ",");
            tmpstaff.setID(Integer.valueOf(st.nextToken()));
            tmpstaff.setFirstName(st.nextToken());
            tmpstaff.setSalary(Double.valueOf(st.nextToken()));
            staffs.add(tmpstaff);
            }
        } 
    catch (IOException e) {
    }
    return staffs;
}
Run Code Online (Sandbox Code Playgroud)

使用println从返回的arraylist中显示此输出:

234,adam,12.8
234,adam,12.8
234,adam,12.8
Run Code Online (Sandbox Code Playgroud)

我只是移动了printlnwhile循环内部,它显示了它应该是什么.

为什么会这样?我在这里读到 - 在循环内部或外部定义变量(好吧,这里是一个对象)没有任何区别.

java loops

0
推荐指数
1
解决办法
1600
查看次数