每当我使用readdir之类的函数列出目录的内容时,返回的文件名也包含".".和"......".我怀疑这些只是文件系统中的普通链接,因此与实际文件无法区分,但我总是要将它们过滤掉,因为它们不是我列出的目录中的实际对象.readdir这样的函数是否有充分理由包含它们?某些操作系统或文件系统是否包含更多或不同的虚拟文件名?除了通过与"."进行字符串比较之外,还有更好的方法来过滤掉它们.和".."?
更新:谢谢大家回答.我想我一直认为像./和../之类的东西仅仅是可以通过搜索和替换来处理的约定.我觉得让它们成为文件系统本身的一部分有点令人惊讶,尽管可能更有效和透明.
但是,有一个问题仍然存在:和..是这些链接的任意名称,是否有使用不同的文件系统?
现在我正在为游戏开发一个面向小型画布的2D图形引擎,并且已经在寻找几个来源以提供适用于我的系统设计的提示.但显然,最经过验证的解决方案是flash,所以我想知道Flash架构是如何构建的.我找到了一些关于Flash工作原理的资料,但大多数都是非常基础的,面向设计师和艺术家,但我想更多地了解系统的内容.我的下一步是下载Flex的源代码并浏览它,但在此之前,我想有一个"指南",以充分利用我在代码库中的时间.有关良好的在线资源和文章的任何建议?
谢谢!
编辑:为了使它更清晰,我正在寻找Flash的内部工作原理,因为我的目标是制作类似于Flash的东西,但当然没有那么强大,它可以在没有插件的浏览器中运行.唉纯HTML + Javascript.
另外我不使用Flash的原因是因为它不符合我的要求(免费+没有插件),而且因为我的目标平台上没有Flash支持,除了我在这里重新发明轮子有趣和自我教育.哦,我已经知道如何使用Flash :)
当我查看Amazon.com并且我看到他们的页面URL时,它没有.htm,.html或者.php在URL的末尾.
它就像:http:
//www.amazon.com/books-used-books-textbooks/b/ref=topnav_storetab_b?ie = UTF8&node = 283155
为什么以及如何?这有什么样的延伸?
public class doublePrecision {
public static void main(String[] args) {
double total = 0;
total += 5.6;
total += 5.8;
System.out.println(total);
}
}
Run Code Online (Sandbox Code Playgroud)
上面的代码打印:
11.399999999999
Run Code Online (Sandbox Code Playgroud)
我怎么才能打印(或能够用它)11.4?
使用典型系统之一,ODBC,OLEDB或ADO.NET与SQL Server数据库进行通信时,底层基本协议是否相同?这些系统之间的所有差异基本上只是客户端问题吗?
这些只是TDS(表格数据流)传输的不同风格吗?
或者有实际的不同方式与数据库服务器通信,这些协议之间有根本区别吗?
想象一下,你有一个可执行文件foo.rb,库bar.rb按以下方式排列:
<root>/bin/foo.rb
<root>/lib/bar.rb
Run Code Online (Sandbox Code Playgroud)
在foo.rb的标题中,您将以下要求放入bar.rb中引入功能:
require File.dirname(__FILE__)+"../lib/bar.rb"
Run Code Online (Sandbox Code Playgroud)
只要对foo.rb的所有调用都是直接的,这就可以正常工作.如果您将$ HOME/project和symlink foo.rb放入$HOME/usr/bin,则解析为__FILE__$HOME/usr/bin/foo.rb,因此无法找到bar.rb与dirname相关的位置foo.rb.
我意识到像rubygems这样的打包系统通过创建一个命名空间来搜索库来解决这个问题,并且还可以使用$:include 来调整load_path $HOME/project/lib,但似乎应该存在一个更简单的解决方案.有没有人有这个问题的经验,并找到了有用的解决方案或食谱?
我有以下foreach循环:
using System.IO;
//...
if (Directory.Exists(path))
{
foreach(string strFile in Directory.GetFiles(path, "*.txt"))
{
// do something, possibly delete the file named strFile
}
}
Run Code Online (Sandbox Code Playgroud)
删除当前用于foreach循环的目录中的文件时是否会有副作用?
Gmail会自动显示看起来像签名的文字.任何人都有猜测它是如何做到这一点的?(我注意到它取决于发件人姓名的存在,但我认为这只是故事的一部分).
我问,因为我正在开发一个具有电子邮件界面的Web应用程序,我想在显示他们的电子邮件内容之前删除用户的签名.
我是第一次玩Java,需要能够替换模板中的一些单词.示例模板 -
"亲爱的PUT_THEIR_NAME_HERE,
我正联系你..... bla bla bla
问候,
PUT_COMPANY_NAME_HERE"
什么是最简单的方法(最好使用标准库)制作此模板文件的副本并在正确的位置添加正确的单词然后将其保存到文件系统?我必须做很多这样简单的模板,所以一种易于复制的方式会很好.
我也是使用Rhino通过JavaScript访问Java,不确定这是否有所不同.
问候,
克里斯
我一直在研究一个读取dbf文件的程序,弄乱数据,并将其保存回dbf.我遇到的问题特别与写作部分有关.
private const string constring = "Driver={Microsoft dBASE Driver (*.dbf)};"
+ "SourceType=DBF;"
+ "DriverID=277;"
+ "Data Source=¿;"
+ "Extended Properties=dBASE IV;";
private const string qrystring = "SELECT * FROM [¿]";
public static DataTable loadDBF(string location)
{
string filename = ConvertLongPathToShort(Path.GetFileName(location));
DataTable table = new DataTable();
using(OdbcConnection conn = new OdbcConnection(RTN(constring, filename)))
{
conn.Open();
table.Load(new OdbcCommand(RTN(qrystring, filename), conn).ExecuteReader());
conn.Close();
}
return table;
}
private static string RTN(string stmt, string tablename)
{ return stmt.Replace("¿", tablename); }
[DllImport("Kernel32", CharSet = CharSet.Auto)]
static extern …Run Code Online (Sandbox Code Playgroud)