我知道,我知道,这听起来洙容易.但我似乎无法在互联网上找到正确的答案.
我找到的解决方案之一是使用is_dir.
if(is_dir($dir))
echo 'directory exists';
else
echo 'drectory not exist';
Run Code Online (Sandbox Code Playgroud)
但这是错误的 - 所有这个功能都是检查是否$dir是目录,它不检查目录是否存在.换句话说,如果我把:
$rootDir = "C:\\Documents and Settings\\test\\My Documents\\Image Directory\\Me Dog\\";
Run Code Online (Sandbox Code Playgroud)
然后该函数将返回true,即使您在Web服务器上找不到此类目录.
有任何想法吗?
我在php中开发的网站每页查看许多MySQL数据库请求.虽然许多是具有适当设计索引的小请求.我不知道为这些页面开发缓存脚本是否值得.
文件I/O通常比数据库请求快吗?这取决于服务器吗?有没有办法测试您的服务器可以处理多少个?
其中一个页面检查数据库中的文件名,然后检查服务器以查看它是否存在,然后决定要显示的内容.我认为这将受益于缓存的页面视图?
此外,如果有关于此主题的任何其他信息,您可以转发给我,我将不胜感激.
这两种移动文件的方法有什么区别吗?
System.IO.FileInfo f = new System.IO.FileInfo(@"c:\foo.txt");
f.MoveTo(@"c:\bar.txt");
//vs
System.IO.File.Move(@"c:\foo.txt", @"c:\bar.txt");
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用文件上下文管理器写入尚不存在的文件.
a=open ('C:/c.txt' , 'w')
Run Code Online (Sandbox Code Playgroud)
以上不成功.如果文件已经存在,我将如何创建一个文件?
我认为我的情景很常见.我有一个数据库,我希望我的Spring MVC应用程序接受控制器中的请求,调用数据库服务来获取数据并将该数据作为CSV文件发送到客户端.我正在使用JavaCSV此处找到的库来协助此过程:http://sourceforge.net/projects/javacsv/
我发现了一些人做类似事情的例子,并拼凑出看似正确的东西.但是当我尝试这种方法时,实际上并没有发生任何事情.
我认为将数据写入HttpServletResponse'outputStream就足够了,但显然,我遗漏了一些东西.
这是我的控制器代码:
@RequestMapping(value="/getFullData.html", method = RequestMethod.GET)
public void getFullData(HttpSession session, HttpServletRequest request, HttpServletResponse response) throws IOException{
List<CompositeRequirement> allRecords = compReqServ.getFullDataSet((String)session.getAttribute("currentProject"));
response.setContentType("data:text/csv;charset=utf-8");
response.setHeader("Content-Disposition","attachment; filename=\yourData.csv\"");
OutputStream resOs= response.getOutputStream();
OutputStream buffOs= new BufferedOutputStream(resOs);
OutputStreamWriter outputwriter = new OutputStreamWriter(buffOs);
CsvWriter writer = new CsvWriter(outputwriter, '\u0009');
for(int i=1;i <allRecords.size();i++){
CompositeRequirement aReq=allRecords.get(i);
writer.write(aReq.toString());
}
outputwriter.flush();
outputwriter.close();
};
Run Code Online (Sandbox Code Playgroud)
我在这里错过了什么一步?基本上,净效应是......没有.我原本以为设置标题和内容类型会导致我的浏览器接收响应并触发文件下载操作.
我一直听说C++文件I/O操作比C风格I/O慢得多.但我没有找到任何实际的参考文件,因为它们实际上有多慢,所以我决定在我的机器上测试它(Ubuntu 12.04,GCC 4.6.3,ext4分区格式).
首先,我在磁盘中写了一个~900MB的文件.
C++(ofstream):163s
ofstream file("test.txt");
for(register int i = 0; i < 100000000; i++)
file << i << endl;
Run Code Online (Sandbox Code Playgroud)
C(fprintf):12s
FILE *fp = fopen("test.txt", "w");
for(register int i = 0; i < 100000000; i++)
fprintf(fp, "%d\n", i);
Run Code Online (Sandbox Code Playgroud)
我期待这样的输出,它表明在C++ C中写入文件要慢得多.然后我使用C和C++ I/O读取相同的文件.让我感到惊讶的是,从文件中读取时,性能几乎没有差异.
C++(ifstream):12s
int n;
ifstream file("test.txt");
for(register int i = 0; i < 100000000; i++)
file >> n;
Run Code Online (Sandbox Code Playgroud)
C(fscanf):12s
FILE *fp = fopen("test.txt", "r");
for(register int i = 0; i < …Run Code Online (Sandbox Code Playgroud) 我正在尝试运行shell命令,捕获stdout并将该输出写入文件.但是,我似乎错过了几个步骤,因为当程序存在时,我试图写的文件是空的.如何捕获命令的标准输出并将其写入文件?
package main
import (
"bufio"
"io"
"os"
"os/exec"
)
func main() {
cmd := exec.Command("echo", "'WHAT THE HECK IS UP'")
// open the out file for writing
outfile, err := os.Create("./out.txt")
if err != nil {
panic(err)
}
defer outfile.Close()
stdoutPipe, err := cmd.StdoutPipe()
if err != nil {
panic(err)
}
writer := bufio.NewWriter(outfile)
err = cmd.Start()
if err != nil {
panic(err)
}
go io.Copy(writer, stdoutPipe)
cmd.Wait()
}
Run Code Online (Sandbox Code Playgroud) 例如,如果我的文本文件是:
blue
green
yellow
black
Run Code Online (Sandbox Code Playgroud)
这里有四行,现在我想得到四个结果.我怎样才能做到这一点?
替换HTML文件内容的一部分时,String.Replace似乎无法正常工作.例如,String.Replace替换</body></html>为blah blah blah </body></html> html> - 注意第二个HTML结束标记未正确关闭,因此在用户在浏览器中呈现页面时显示.
任何人都知道它为什么不按预期工作?
StreamReader sr = fi.OpenText;
String fileContents = sr.ReadToEnd();
sr.close();
fileContents = fileContents.Replace("<body>", "<body onload='jsFx();' />");
fileContents = fileContents.Replace("</body>","blah blah blah </body>");
StreamWriter sw = new StreamWriter(fi.OpenWrite());
sw.WriteLine(contents);
sw.close();
Run Code Online (Sandbox Code Playgroud) 我知道我的Windows计算机上许多不需要的文件的文件名的共同特征.如何使用单个正则表达式 PowerShell命令从给定文件夹或文件夹层次结构中删除所有这些文件?