问题列表 - 第48102页

如何处理名称超过259个字符的文件?

我正在开发一个应用程序,它遍历某些目录中的每个文件,并对这些文件执行一些操作.其中,我必须检索文件大小和修改此文件的日期.

有些文件全名(目录+文件名)太长,我无法使用.NET Framework FileInfo,限制为MAX_PATH(260个字符).许多Web资源建议通过P/Invoke使用本机Win32函数来访问名称太长的文件.

目前,Win32函数似乎出现了完全相同的问题.例如,对于GetFileAttributesEx270字节的路径,(kernel32.dll)失败,Win32错误3 ERROR_PATH_NOT_FOUND.

可以从Notepad2成功打开同一个文件并使用Windows资源管理器成功显示(但Visual Studio 2010例如由于259个字符限制¹而无法打开它).

当文件路径长度为270个字符时,如何才能访问文件?

笔记:

  • 删除或忽略文件路径长度超过259个字符的文件不是解决方案.

  • 我正在寻找仅与Unicode兼容的解决方案.

  • 该应用程序将在安装了.NET Framework 4的Windows 2008/Vista或更高版本下运行.


¹令人惊讶的是,Microsoft Word 2007失败了,在没有任何软盘驱动器的计算机上抱怨"软盘太小",或者在剩下4 GB RAM时"RAM内存很低",或者最后那个"防病毒软件[...]需要更新".他们有一天会停止显示至少在像Microsoft Office这样的关键产品中出现如此愚蠢无意义的错误吗?

c# windows file-io pinvoke interop

65
推荐指数
6
解决办法
6万
查看次数

Collection.unmodifiableMap迭代顺序

Colelction.unmodifiableMap是否维护迭代顺序?

我正在尝试newMap.put(key,Collections.ModifiableMap(oldMap))然后执行newMap.get(key)并进行迭代时,迭代顺序似乎有所变化。

我们如何保护迭代顺序?

java linkedhashmap

4
推荐指数
2
解决办法
1749
查看次数

管理Java版本兼容性

我读过" JDK通常是向前兼容的,而JRE通常是向后兼容的."

Java开发人员在他们的应用程序中做了什么样的版本检查?

你是否每次发布升级JDK?

如何最大限度地减少版本之间的不兼容性?

java versioning

6
推荐指数
2
解决办法
1266
查看次数

使用replaceAll和regex预先添加字符串

我无法弄清楚如何使用正向前瞻创建正则表达式.我们的想法是在长字符串中为每两个字符添加两个字符串.即

"090909" => "XX09XX09XX09"
Run Code Online (Sandbox Code Playgroud)

这段代码:

String s = "090909";
String ns = s.replaceAll("(?=\\d\\d)", "XX");  
Run Code Online (Sandbox Code Playgroud)

......不起作用; 输出是XX0XX9XX0XX9XX09.但是这段代码有效:

String s = "090909";
String ns = s.replaceAll("(?=09)", "XX");  
Run Code Online (Sandbox Code Playgroud)

我很困惑如何为每两个字符提出一个表达前瞻性的表达方式.我错过了一些界限吗?

java regex lookahead

1
推荐指数
1
解决办法
950
查看次数

我应该使用WebMatrix来构建一个真实世界的网站吗?

我已经阅读了数百篇文章和博客文章,称WebMatrix仅适用于初学者等.我的问题是,为什么我不应该使用WebMatrix来创建一个真实的工作网站,比如一个轻量级的问答网站?我们可以使用此工具创建网站所需的任何内容.那么为什么不使用呢?有什么真正的网站需要,WebMatrix无法完成?看起来可以使用此工具创建功能齐全且功能强大的网站.但人们说你不应该使用它,为什么?

我为我可怕的英语道歉!提前致谢.

asp.net development-environment webmatrix web

10
推荐指数
1
解决办法
2844
查看次数

T []和List <T>之间有什么区别?

实际上我总是使用Generic Collections而且我经常使用List <>.我觉得有些场景new List<string>()非常难看,我更喜欢使用string[],但是我不使用它,因为据我所知,泛型有更好的性能,因此我使用它们.

string [],int []或任何非泛型数组对应用程序有害吗?

我只是想知道阵列和通用集合之间的区别是什么.

编辑:

让我们假装一个场景

我必须使用这种方法,我应该使用string[]List<string>?什么更好?

static void PrintValues(IEnumerable<string> values) {
    foreach(var value in values) {
        Console.WriteLine(value);
    }
}
Run Code Online (Sandbox Code Playgroud)

c# arrays generics c#-2.0

0
推荐指数
1
解决办法
196
查看次数

我的枚举不是类或命名空间

嗨,我有名为MyCode.h和MyCode.cpp的文件

在我已经声明的MyCode.h中

enum MyEnum {Something = 0, SomethingElse = 1};

class MyClass {

MyEnum enumInstance;
void Foo();

}; 
Run Code Online (Sandbox Code Playgroud)

然后在MyCode.cpp中:

#include "MyCode.h"

void MyClass::Foo() {
    enumInstance = MyEnum::SomethingElse;
}
Run Code Online (Sandbox Code Playgroud)

但是当用g ++编译时,我得到错误'MyEnum'不是类或命名空间......

(在MS VS2010中工作正常,但不是linux g ++)

有任何想法吗?谢谢托马斯

c++ enums g++ c++11

59
推荐指数
3
解决办法
5万
查看次数

可以eclipse RSE连接到本地端口(ssh隧道)?

我正在使用带有RSE的eclipse,当我在同一个网络时,它可以很好地连接到我的linux服务器,但由于服务器位于带有门入口的防火墙后面,我需要在其网络外部进行ssh隧道.

我还没有找到一种方法可以将我拥有隧道的本地端口添加到主机名,也无法在其他地方添加.

RSE ssh连接

是否可以使用RSE连接到localhost:port?

eclipse eclipse-plugin ssh-tunnel eclipse-rse

6
推荐指数
1
解决办法
7124
查看次数

在同一平面内具有相同原点的两个3D矢量之间的有符号角度

我需要的是位于同一3D平面内且具有相同原点的两个矢量Va和Vb之间的有符号旋转角度,知道:

  1. 包含两个矢量的平面是任意的,并且不与XY或任何其他基本平面平行
  2. Vn - 平面法线
  3. 两个向量与法线具有相同的原点O = {0,0,0}
  4. Va - 是测量Vn左手旋转的参考

应该以这样的方式测量角度,因此如果平面是XY平面,则Va将代表它的X轴单位矢量.

我想我应该通过使用Va作为X轴并将Vb和Vn的叉积作为Y轴来执行一种坐标空间变换,然后使用像atan2()或其他东西一样的2d方法.有任何想法吗?公式?

math 3d geometry vector

50
推荐指数
5
解决办法
6万
查看次数

ASP.NET MVC - 下拉列表选择 - 部分视图和模型绑定

我是ASP.NET MVC的新手,我正在努力找到最好的方法来做到这一点.这可能很简单,但我只是想做正确的事情所以我想我会问.

让我们说我的模型是这样的:

任务 - ID,描述,AssignedStaffMember

StaffMember - Id,FirstName,LastName

在我看来,我想创建一个新任务.我创建了一个强类型的Razor视图,并且可以使用EditorFor为Description创建文本框但是AssignedStaffMember呢?

我想要一个当前所有员工的下拉列表,并且可以选择一个,然后将其提交给一个动作方法 NewTask(string description, StaffMember assignedStaffMember) ,或者我可以为staffId而不是StaffMember对象提供一个int,并在动作中查找它方法.

做这个的最好方式是什么?我需要去数据库以获取员工名单,所以这就是我的想法:

  1. 对员工下拉列表进行部分查看,将使用几次并用于@Html.Action("ListStaff", "Staff")调用它.然后动作方法有

    public ActionResult ListStaff()
    {
        IEnumerable<StaffMember> model = _serviceLayer.GetAllStaff();
        return PartialView(model);
    }
    
    Run Code Online (Sandbox Code Playgroud)

    但是我不确定它如何与模型绑定一起工作,我的理解是它必须有正确的名称才能提交表单,我需要将名称传递给局部视图以放置元素我猜?

  2. 不要让它调用控制器来获取工作人员,而是创建一个包含我的Task和IEnumerable possibleStaff集合的ViewModel.可能会将此信息发送到局部视图.

  3. 一个Html助手?

  4. 编辑器可以以某种方式使用?

哪一个(或者更多)最好?以及如何进行模型绑定?

asp.net-mvc partial-views model-binding razor

5
推荐指数
1
解决办法
2万
查看次数