我需要清理一些将在文件名中使用的数据.某些数据包含空格和符号字符.是否有一个函数可以转义或清理适合在文件名(或路径)中使用的数据?我在PHP手册的"文件系统功能"部分找不到一个.
所以,假设我必须编写自己的函数,我需要逃避(或更改)哪些字符?
我有一个方法打开一个文件并传递给另一个函数来写一些数据.第二种方法想要使用PrintWriter来写入其数据.但是,我不想要求每个人都使用PrintWriter写入该流.
目前它看起来像这样(消毒的例子......不要批评我选择的方法或变量名称)
public void exportRawDataIntoStream(OutputStream os) {
PrintWriter pr = new PrintWriter(os);
printFirstData(pr);
printSecondData(pr);
}
public void exportToFile(File file) {
OutputStream os = null;
try {
os = new BufferedOutputStream(new FileOutputStream(file));
exportRawDataIntoStream(os);
doMoreWithTimeFile(os);
} finally {
if (os != null) {
try {
os.close();
} catch (Exception e ) {
e.printStackTrace();
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
除非我在exportRawDataIntoStream的末尾加上'pr.flush',否则这不起作用.我无法关闭PrintWriter,因为它会关闭整个流.
冲洗是否合法可靠?我是否应该使用其他方法将Writers混合在同一个流上,或者我绝对不应该这样做?
我目前负责开发在Microsoft .NET C#中创建的第二个程序版本.我没有做任何实际的编程,但我正在为程序员编写规范.我想把它从.NET代码库中删除,但由于Joel在他的博客上说永远不会重写代码,并且他确实提供了很好的推理,我倾向于仔细思考.
所以我的问题是,
(1)有没有简单的过渡方式?(像.NET C#这样的语言)
(2)你会把它从.NET中删除吗?
(3)如果是这样,你会用什么语言?
我想脱离.NET的原因是我对.NET的理解,它必须安装在客户端上.当有更好的方法时,我宁愿不给我的顾客带来不便.
我正在尝试使用Maven exec:exec目标执行我的项目,我尝试使用此代码段配置它:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.1.1</version>
<configuration>
<executable>java</executable>
<arguments>
<argument>-jar ${staging.dir}/project.jar</argument>
</arguments>
</configuration>
<executions>
<execution>
<goals>
<goal>exec</goal>
</goals>
</execution>
</executions>
</plugin>
Run Code Online (Sandbox Code Playgroud)
当我运行时,mvn exec:exec我得到输出:
------------------------------------------------------------------------
[ERROR]BUILD ERROR
------------------------------------------------------------------------
One or more required plugin parameters are invalid/missing for 'exec:exec'
[0] Inside the definition for plugin 'exec-maven-plugin' specify the following:
<configuration>
...
<executable>VALUE</executable>
</configuration>
-OR-
on the command line, specify: '-Dexec.executable=VALUE'
Run Code Online (Sandbox Code Playgroud)
我已经尝试过重新组织<plugin>我能想到的每一个但没有任何区别的东西?该项目是一个POM而不是一个罐子.
有任何想法吗?
出于某种原因,以下代码从不调用 Event::Event(Event&& e)
Event a;
Event b;
Event temp;
temp = move(a);
a = move(b);
b = move(temp);
Run Code Online (Sandbox Code Playgroud)
为什么不?
使用std::swap一次调用.
class Event {
public:
Event(): myTime(0.0), myNode(NULL) {}
Event(fpreal t, Node* n);
Event(Event&& other);
Event(Event const& other) = delete;
~Event();
bool operator<(Event const& other) const { return myTime < other.myTime; }
bool operator>(Event const& other) const { return myTime > other.myTime; }
fpreal getTime() const { return myTime; }
void setTime(fpreal time) { myTime = time; }
Node* …Run Code Online (Sandbox Code Playgroud) String s1 = "The quick brown fox jumps over the lazy dog";
String s2 = "";
boolean b = s1.contains(s2);
System.out.println(b);
Run Code Online (Sandbox Code Playgroud)
我运行上面的Java代码,b返回true.由于s2为空,为什么s1包含s2?
我检查了Java API,它写道:
当且仅当此字符串包含指定的char值序列时,才返回true.
参数:
s - 要搜索的序列
返回:
如果此字符串包含s则返回true,否则返回false
我已经看到其他文本编辑器使用扩展来允许语法检查器,如JSLint,这是否可以使用Notepad ++?
我有一个现有的asp.net webforms应用程序,我想添加一些单元测试,但我不确定如何去做.
该应用程序是数据库驱动的功能,我想你可以与高级论坛进行比较.逻辑,数据访问和演示在很大程度上是分开的.
我应该测试哪些方法?
如何处理数据库和测试数据?
是否有任何工具可以帮助解决这个问题?
我的网站允许用户将URL输入数据库.我使用的代码是"$ site = strtolower($ site);" 使所有这些URL小写.
但是,我刚刚意识到维基百科URL是区分大小写的,所以我想避免使用"$ site = strtolower($ site);" 在Wikipedia网址上,所有网址都包含"wikipedia.org".
我怎么能编写一个跳过"$ site = strtolower($ site);"步骤的函数 如果$ site包含"wikipedia.org"?
提前致谢,
约翰
在代码中,可以指定一次全局可访问的常量/枚举/等,然后可以在整个应用程序中重用它们.这使得能够使用像'Mazda'这样有意义的名称而不是像'2'这样的数字.
我们希望在SQL Server存储过程中也这样做,但不确定实现它的最佳方法.
例如,对于下表(众所周知的汽车模式):
Car ManufacturerId
350Z 1
Hilux 2
Yaris 2
ManufacturerId Name
1 Nissan
2 Toyota
Run Code Online (Sandbox Code Playgroud)
所以不要写作
SELECT * FROM Car WHERE ManufacturerId = 1 -- Nissan
Run Code Online (Sandbox Code Playgroud)
我们想写类似的东西
SELECT * FROM Car WHERE ManufacturerId = @Nissan
Run Code Online (Sandbox Code Playgroud)
我们的一个限制是我们不能依赖于Manufacturer.Name在App的生命周期中保持不变.我们确实考虑过一个永远不会改变的"Code"列,并且这样的联接被查找:
SELECT *
FROM Car c
INNER JOIN Manufacturer m ON c.ManufacturerId = m.ManufacturerId
WHERE m.Code = 'Nissan'
Run Code Online (Sandbox Code Playgroud)
我对此有点犹豫,因为它使用额外的连接和字符串比较,可以拼写错误.
无需在每个存储过程中声明变量,最好的方法是什么?
java ×2
php ×2
string ×2
.net ×1
asp.net ×1
c# ×1
c++ ×1
c++11 ×1
file-io ×1
javascript ×1
jslint ×1
lint ×1
maven-2 ×1
maven-plugin ×1
notepad++ ×1
outputstream ×1
sql ×1
sql-server ×1
unit-testing ×1
webforms ×1