我想将文件c:\ a1\b2\c3\foo.txt复制到d:\ a1\b2\c3\foo.txt.子驱动器在D驱动器上不存在,如果我尝试直接执行CopyTo(),我将获得IO异常.我无法找到任何内置的c#函数来完成创建缺少目录的脏工作.所以我写了这个:
FileInfo file = new FileInfo(@"c:\a1\b2\c3\foo.txt");
DirectoryInfo destDir = new DirectoryInfo(file.DirectoryName.Replace("c:", "d:");
if (!destDir.Exists) // false
CreateDirectory(destDir, null);
file.CopyTo(file.FullName.Replace("c:", "d:"), true);
private void CreateDirectory(DirectoryInfo endDir, Stack<DirectoryInfo> trail)
{
if (trail == null)
{
trail = new Stack<DirectoryInfo>();
trail.Push(endDir);
}
// remove last directory - c:\a1\b2\c3, c:\a1\b2, c:\a1
Match theMatch = Regex.Match(endDir.FullName, @".*(?=\\\w*\Z)");
DirectoryInfo checkDir = new DirectoryInfo(theMatch.ToString());
if (!checkDir.Exists)
{
trail.Push(checkDir);
CreateDirectory(checkDir, trail);
}
else
foreach (DirectoryInfo dir in trail)
Directory.CreateDirectory(dir.FullName);
}
Run Code Online (Sandbox Code Playgroud)
这非常复杂,正如他们喜欢在深夜的商业广告中说的那样,"必须有更好的方法!"
问题:如何使上述功能移动高效?我是否错过了一个内置方法,已经完成了我正在做的所有事情?
我的文件系统上有一堆(10-15)本地git存储库,但所有文件夹/ data /
我想找到所有/任何具有未经修改的更改的文件夹.我怎样才能做到这一点?有点像递归的全局git status变体.
我认为所有答案都错了.任何git命令只能在git控件下的文件夹中工作.我需要一些东西来搜索这样的文件夹.
所以我写了这个脚本来做到这一点:
#!/usr/bin/env ruby
require 'find'
require 'fileutils'
#supply directory to search in as argument
@pat = ARGV[0]
(puts "directory argument required"; exit) unless @pat
Dir.chdir(@pat)
Find.find(@pat) do |path|
if FileTest.directory?(path)
Dir.chdir(path)
resp = `git status 2>&1`
unless resp =~ /fatal|nothing to commit \(working directory clean\)/i
puts "#{'#'*10}\n#{Dir.pwd}#{'#'*10}\n#{resp}"
Find.prune
end
Dir.chdir(@pat)
end
end
Run Code Online (Sandbox Code Playgroud) 如何以编程方式在SQL SERVER 2005数据库中存储.zip文件?
以及如何找回它?
如果您认为将.zip文件存储到数据库中并不是一种优雅的方式,请告诉我
为此做出更好的方法/标准实践的想法
我正在使用C#,Asp.net和Sql Server 2005
请把代码寄给我.
我用谷歌搜索并搜索了几个小时如何在jsp或servlet中进行重定向.但是,当我尝试应用它时,它不起作用.
我在jsp页面中的代码:
<%
String articleId = request.getParameter("article_id").toString();
if(!articleId.matches("^[0-9]+$"))
{
response.sendRedirect("index.jsp");
}
%>
Run Code Online (Sandbox Code Playgroud)
我知道从调试regexp工作,如果任何时候,articleId不是数字,if内部,但当它到达response.sendRedirect时,它实际上不会重定向.
在这种情况下,我是否会错过一些非常基础
提前致谢.
这是我的代码片段:
Public Function convert(ByVal robert As String)
Try
robert = Replace(robert, "U", "A")
robert = Replace(robert, "\"", "A")
Run Code Online (Sandbox Code Playgroud)
我想用A替换"引用",但程序似乎没有认识到我在VB中使用转义字符的事实.有谁知道为什么?谢谢!
罗伯特
编辑rlbond86:这显然是Visual Basic代码.我更改了标题和文字以反映这一点.
我正在尝试重新加载我已经在Python 3中导入的模块.我知道你只需要导入一次并import再次执行命令就不会做任何事情.
执行reload(foo)是给出这个错误:
Traceback (most recent call last):
File "(stdin)", line 1, in (module)
...
NameError: name 'reload' is not defined
Run Code Online (Sandbox Code Playgroud)
错误是什么意思?
我知道很多开发人员开始项目,然后陷入困境或失去兴趣并转向其他事物。你有什么未完成的项目,你为什么停下来?你有没有激励自己回来完成它,或者你在一段时间后删除它们并忘记最初的想法?
我想写一个函数来检索网页的内容,所以它的工作方式如下:
$url = "example.com";
$pageContent = RetrievePageContent($url);
Run Code Online (Sandbox Code Playgroud)
最简单的方法是什么?
在此先感谢您的帮助!
我需要允许用户向记录添加新字段,例如,如果有联系人记录,用户可能想要添加"SSN"数字字段和"出生日期"日期/日历字段.他们当然会通过用户界面做到这一点.
然后,这些字段可用于所有联系人记录的输入.
考虑到我的应用程序同时为许多用户运行(不是单个公司部署等),理论上每个人都可以添加自己的自定义字段,将这些信息存储在数据库中的最佳做法是什么,尤其是当需要搜索时?