我有一个包含一些常见字段的时间表数据库表.
id, client_id, project_id, task_id, description, time, date
Run Code Online (Sandbox Code Playgroud)
还有更多,但这就是它的要点.
我在该表上运行导出过夜的CSV文件,以便为用户提供其数据的备份.它还用作带有一些自定义报告的宏Excel文件的数据导入.
这一切都与我一起使用php循环遍历时间表并将行打印到文件.
问题在于大型数据库可能需要数小时才能运行,这是不可接受的.所以我用MySQL INTO OUTFILE命令重新编写它,它将它减少到几秒钟才能运行,这很棒.
现在的问题是我似乎无法在描述字段中转义所有新行字符等.实际上,用户可以在此输入任何字符组合,包括回车/新行.
这是我的MySQL代码的片段:
SELECT id,
client,
project,
task,
REPLACE(REPLACE(ifnull(ts.description,''),'\n',' '),'\r',' ') AS description,
time,
date
INTO OUTFILE '/path/to/file.csv'
FIELDS ESCAPED BY '""'
TERMINATED BY ',' ENCLOSED BY '"'
LINES TERMINATED BY '\n'
FROM ....
Run Code Online (Sandbox Code Playgroud)
但...
当我尝试查看输出文件的来源时,文件中仍然存在换行符,因此Excel的CSV导入会破坏Excel向导创建的所有奇特的宏和数据透视表.
关于最佳行动方案的任何想法?
我目前的情况是:我必须读取文件并将内容放入InputStream.之后我需要把它的内容InputStream放到一个字节数组中,这个数组需要(据我所知)的大小InputStream.有任何想法吗?
根据要求,我将显示我从上传文件创建的输入流
InputStream uploadedStream = null;
FileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
java.util.List items = upload.parseRequest(request);
java.util.Iterator iter = items.iterator();
while (iter.hasNext()) {
FileItem item = (FileItem) iter.next();
if (!item.isFormField()) {
uploadedStream = item.getInputStream();
//CHANGE uploadedStreambyte = item.get()
}
}
Run Code Online (Sandbox Code Playgroud)
该请求是一个HttpServletRequest对象,它是象FileItemFactory和ServletFileUpload是从Apache通用FileUpload包.
基本上这是一个如何访问本地范围处理程序的问题.我试图为全局变量定义实现类似的东西,如:
window['newObject'] = "some string";
alert(newObject);
Run Code Online (Sandbox Code Playgroud)
但对于当地范围.现在我只有解决方案是使用evals:
eval("var newObject='some string'");
Run Code Online (Sandbox Code Playgroud)
但这是一个非常丑陋的解决方案......最好的方法就是在window []解决方案中使用一些本地范围的引用,但我从来没有听说过任何对本地范围的引用......有什么想法吗?
示例如下:
function x(arg)
{
localScope[arg.name]=arg.value;
alert(sex);
}
x({name:"sex", value:"Male"});
Run Code Online (Sandbox Code Playgroud) Javascript或jQuery有时像Python中的"in"语句吗?
"dea"中的"a" - >真
谷歌搜索的单词在无望:(
有没有办法在Velocity中做三元运算符?这就是我想做的事情:
#set ($name = ($args.get(0) == "") ? "default" : $args.get(0))
Run Code Online (Sandbox Code Playgroud)
而不是粗糙的if-else
#if ($args.get(0) == "")
#set ($name = "default")
#else
#set ($name = $args.get(0))
#end
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
我有一个基于HTTP的API,我可能需要多次调用.问题是我无法获得少于约20秒的请求,尽管通过浏览器发出的相同请求几乎是即时的.以下代码说明了到目前为止我是如何实现它的.
WebRequest r = HttpWebRequest.Create("https://example.com/http/command?param=blabla");
var response = r.GetResponse();
Run Code Online (Sandbox Code Playgroud)
一种解决方案是进行异步请求,但我想知道为什么需要这么长时间,如果我可以避免它.我也尝试过使用WebClient类,但我怀疑它在内部使用WebRequest.
更新:
在发布模式下运行以下代码大约需要40秒(使用秒表测量):
WebRequest g = HttpWebRequest.Create("http://www.google.com");
var response = g.GetResponse();
Run Code Online (Sandbox Code Playgroud)
我在一所大学工作,网络配置可能会有不同的因素影响性能,但直接使用浏览器表明它应该接近即时.
更新2:
我将代码上传到远程机器并且工作正常,因此结论必须是.NET代码与浏览器相比做了额外的事情,或者它在通过大学网络解决地址时遇到了问题(代理问题或其他什么?!).
我正在用C++编写一个小型库,我需要能够在很多不同的平台上构建,包括iPhone,Windows,Linux,Mac和Symbian S60.我编写了大部分代码,因此它与平台无关,但有些部分必须基于每个平台编写.
目前我通过根据当前平台包含一个不同的头来实现这一点,但是我很难充实它,因为我不确定为所有平台定义了哪些预处理器定义.对于Windows,我通常可以依靠看到WIN32或_WIN32.对于Linux,我可以依靠看到_UNIX_,但我不太确定其他平台或它们的64位变体.有没有人有平台上找到的不同定义的列表,或者我是否必须求助于配置文件或gcc参数?
我看到用这种类型定义的变量,但我不知道它来自何处,也不知道它的目的是什么.为什么不使用int或unsigned int?(其他"类似"类型呢?Void_t等).
我需要为一个设计很差的旧应用程序编写JUnit测试,并将大量错误消息写入标准输出.当getResponse(String request)方法行为正确时,它返回XML响应:
@BeforeClass
public static void setUpClass() throws Exception {
Properties queries = loadPropertiesFile("requests.properties");
Properties responses = loadPropertiesFile("responses.properties");
instance = new ResponseGenerator(queries, responses);
}
@Test
public void testGetResponse() {
String request = "<some>request</some>";
String expResult = "<some>response</some>";
String result = instance.getResponse(request);
assertEquals(expResult, result);
}
Run Code Online (Sandbox Code Playgroud)
但是当它得到格式错误的XML或者不理解它返回的请求并将null一些东西写入标准输出时.
有没有办法在JUnit中断言控制台输出?要抓住像这样的案例:
System.out.println("match found: " + strExpr);
System.out.println("xml not well formed: " + e.getMessage());
Run Code Online (Sandbox Code Playgroud) c++ ×2
java ×2
javascript ×2
sql ×2
variables ×2
arrays ×1
c ×1
c# ×1
console ×1
definition ×1
excel ×1
inputstream ×1
into-outfile ×1
jquery ×1
junit ×1
local ×1
mysql ×1
portability ×1
size ×1
sql-server ×1
velocity ×1