我正在尝试创建一个Java程序,用户可以在其中从计算机中选择任何文件.class或.jar文件.然后我的程序会弹出一个JInternalFrame与JEditorPane它作为控制台,捕捉来自用户的程序的任何控制台输出.当用户的程序关闭(调用System.exit(int status);)时,我的程序不能随之关闭.我的程序可能还有一个功能,如立即停止用户程序的按钮和IDE的其他功能.我的程序不需要编译Java代码,只需运行.class和.jar文件.
我已经制作了这个程序的一个小测试版本,其中我从一个包中获得了两个特定文件,并让用户单击两个按钮中的一个,每个按钮代表两个程序中的一个.按一下按钮会调用以下方法:
private void run(Class runnable)
{
java.lang.reflect.Method[] m = runnable.getMethods();
boolean hasMain = false;
for (int i = 0; i < m.length; i++)
{
if (m[i].getName().equals("main") && m[i].getParameterTypes()[0].isArray() && m[i].getParameterTypes()[0].getName().contains("java.lang.String"))
try
{
Object invoke = m[i].invoke(null, (Object)globalArgs);
hasMain = true;
hub.setExtendedState(Hub.ICONIFIED);
numPrograms++;
}
catch (Throwable t)
{
java.util.logging.Logger.getLogger(Hub.class.getName()).log(java.util.logging.Level.SEVERE, null, t);
javax.swing.JOptionPane.showMessageDialog(null, "Could not run " + runnable.getName(), "Error in invocation", javax.swing.JOptionPane.ERROR_MESSAGE);
} …Run Code Online (Sandbox Code Playgroud) 我正在使用Erica Sadun的异步下载方法(此处链接到项目文件:下载),但是她的方法不适用于具有大尺寸(50 mb或更高)的文件.如果我尝试下载超过50 MB的文件,它通常会因内存崩溃而崩溃.无论如何我可以调整这段代码,以便它也适用于大文件?这是我在DownloadHelper类中的代码(已经在下载链接中):
.H
@protocol DownloadHelperDelegate <NSObject>
@optional
- (void) didReceiveData: (NSData *) theData;
- (void) didReceiveFilename: (NSString *) aName;
- (void) dataDownloadFailed: (NSString *) reason;
- (void) dataDownloadAtPercent: (NSNumber *) aPercent;
@end
@interface DownloadHelper : NSObject
{
NSURLResponse *response;
NSMutableData *data;
NSString *urlString;
NSURLConnection *urlconnection;
id <DownloadHelperDelegate> delegate;
BOOL isDownloading;
}
@property (retain) NSURLResponse *response;
@property (retain) NSURLConnection *urlconnection;
@property (retain) NSMutableData *data;
@property (retain) NSString *urlString;
@property (retain) id delegate;
@property (assign) BOOL isDownloading;
+ …Run Code Online (Sandbox Code Playgroud) 我在我的数据库中有来自用户定义多边形的经度 - 纬度顶点.我的问题是:如何在地图上重新创建并显示它们?使用Google Maps API非常容易,但我找不到任何有关如何使用OpenLayers执行此操作的文档或示例.有没有人有这方面的经验?
我有一个XML文件,我想在Windows Phone 7和Silverlight应用程序中访问.XML文件位于Web服务器上,我想通过http://www.mydomain.com/data/this_is_my_file.xml访问它.
如何使用此URL将XML文件加载到XDocument中?
我找到了一种通过Xcode上的代码暂停程序执行的方法作为一个例子,我可以用abort()C函数停止执行.这会弹出Xcode调试器.
但是,这完全退出程序,所以我找到了暂停执行的方法.所以我可以在检查执行状态后恢复执行.
这是处理轻量级错误所必需的.我试过pause()C函数,但它不起作用.执行中止而不是暂停.
序言:我正在研究生产大型数据阵列的重载应用程序.
我写了下面的课
using System;
using System.Collections;
using System.Collections.Generic;
namespace CSharpSampleApplication.Data.CoreObjects
{
[Serializable]
public class CalcItem
{
public CalcItem()
{
_additional = new Hashtable();
}
private readonly Hashtable _additional;
public bool ContainsKey(int id)
{
return _additional.ContainsKey(id);
}
public void Add(int id, double value)
{
_additional.Add(id, value);
}
public DateTime Date { get; set; }
public object this[int id]
{
get
{
return _additional[id];
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
然后,在另一个班级,我做了一个包含以下内容的经理:
public List<CalcItem> CalcItems{ get; private set;}
private readonly Dictionary<string, int> _keys;
private int …Run Code Online (Sandbox Code Playgroud) 我想创建一个接受值类型和引用类型参数的简单方法,即int是value,string是reference.
所以这就是我的开始:
public bool areBothNotNull<T>(T? p1, T? p2)
{
return (p1.HasValue && p2.HasValue);
}
Run Code Online (Sandbox Code Playgroud)
所以我希望能够像这样使用它:
var r1 = areBothNotNull<int>(3, 4); // will be true
var r2 = areBothNotNull<int>(3, null); // will be false
var r3 = areBothNotNull<string>("three", "four"); // will be true
var r4 = areBothNotNull<string>(null, "four"); // will be false
Run Code Online (Sandbox Code Playgroud)
但我遇到的第一个问题是
类型'T'必须是非可空值类型才能在泛型类型或方法'System.Nullable'中将其用作参数'T'
为了继续,我向我的方法添加一个struct约束
public bool areBothNotNull<T>(T? p1, T? p2) where T : struct
Run Code Online (Sandbox Code Playgroud)
但是现在该方法不接受基于字符串的调用,并给出了这个错误:
类型'string'必须是非可空值类型,以便在泛型类型或方法中将其用作参数'T'.
这可能吗?或者为什么我们阻止这样做?
我需要你帮忙.
我想转此:
sometext sometext http://www.somedomain.com/index.html sometext sometext
Run Code Online (Sandbox Code Playgroud)
成:
sometext sometext <a href="http://somedoamai.com/index.html">www.somedomain.com/index.html</a> sometext sometext
Run Code Online (Sandbox Code Playgroud)
我使用这个正则表达式管理它:
preg_replace("#((http|https|ftp)://(\S*?\.\S*?))(\s|\;|\)|\]|\[|\{|\}|,|\"|'|:|\<|$|\.\s)#ie", "'<a href=\"$1\" target=\"_blank\">$1</a>$4'", $text);
Run Code Online (Sandbox Code Playgroud)
问题是它还替换了imgURL,例如:
sometext sometext <img src="http//domain.com/image.jpg"> sometext sometext
Run Code Online (Sandbox Code Playgroud)
变成了:
sometext sometext <img src="<a href="http//domain.com/image.jpg">domain.com/image.jpg</a>"> sometext sometext
Run Code Online (Sandbox Code Playgroud)
请帮忙.
我有一个数据库,我使用终端中的CREATE DATABASE语句创建,我有一个.sql文件,其中包含创建表和行的语句.
我只是想知道在我创建的数据库上执行.sql的命令行是什么?
.net ×2
c# ×2
java ×2
debugging ×1
download ×1
execution ×1
generics ×1
html ×1
iphone ×1
large-files ×1
linq-to-xml ×1
mysql ×1
objective-c ×1
openlayers ×1
operators ×1
php ×1
regex ×1
silverlight ×1
terminal ×1
url ×1
value-type ×1
xcode ×1
xml ×1