Articles of 文件

File.Copy以及作为stream打开的文件,并写入networking文件挂起到本地机器

我的程序需要复制已经在networking共享上生成的日志文件。 它需要将其复制到本地机器,然后进行一些处理。 我一直面临的问题是程序挂起。 堆栈跟踪显示它正在File.Copy中等待。 我猜这个过程是在内核模式下进行的。 我不能杀死它。 我尝试了所有的排列来杀死一个进程,但它不会死。 我必须重新启动机器才能将其从等待中删除。 不pipe我付出多less时间,它永远不会回来。 最初我使用的是.NET 4.0的File.Copy() 。 在读取stackoverflow几篇文章后,我试图读取文件作为stream,并写下来。 但同样的问题。 我不知道为什么内核在等待什么。 我也从sysinternal运行TCPView。 我没有看到我的应用程序build立了任何TCP连接或队列。 你知道什么可能是错的吗? 任何可以帮助我的debugging工具? 任何确定短的方式来复制文件通过networking共享至less失败,而不是永远悬挂?

从文件并发处理

考虑下面的代码: std::vector<int> indices = /* Non overlapping ranges. */; std::istream& in = /*…*/; for(std::size_t i= 0; i< indices.size()-1; ++i) { in.seekg(indices[i]); std::vector<int> data(indices[i+1] – indices[i]); in.read(reinterpret_cast<char*>(data.data()), data.size()*sizeof(int)); process_data(data); } 我想使这个代码并行,尽可能快。 使用PPL进行parallizing的一种方法是: std::vector<int> indices = /* Non overlapping ranges. */; std::istream& in = /*…*/; std::vector<concurrency::task<void>> tasks; for(std::size_t i= 0; i< indices.size()-1; ++i) { in.seekg(indices[i]); std::vector<int> data(indices[i+1] […]

在Windows中创build文件夹的最新文件的快捷方式

有没有办法创build快捷方式总是指向Windows中的文件夹的最新(或最大等)? 例如: abc / file1 2012-01-01 xxx abc / file2 2013-01-01 xxx 快捷方式 – >指向file2 编辑完file1之后: abc / file1 2013-02-01 xxx abc / file2 2013-01-01 xxx 快捷方式 – >指向file1

Python中的并发文件访问

我有一个Python脚本,每秒将内容附加到一个大文件。 我还需要第二个进程,偶尔打开这个大文件,然后读取它。 我如何在Windows中做到这一点? 在C ++中,我可以简单地用_SH_DENYNO打开一个文件,但Python中的等价物是什么?

打开多个文件,并立即接受提示

我正在尝试使用pygtk来创build一个应用程序。 在应用程序中,我正在下载多个文件并用另一个应用程序打开它们。 每打开一个文件,都会提示确认打开文件。 我的目标是自动从我的应用程序进行确认,这样用户将不会被迫重复确认每个文件。 有没有办法做到这一点? 我申请的开头部分: if platform.system().lower().startswith('linux'): subprocess.call(["xdg-open", path]) elif platform.system().lower().startswith('windows'): os.startfile(path) 非常感谢 !

与Windows和Git与非法文件名问题

所以,我正在为我公司的项目开发一个组件,在这个项目中我们使用git作为我们的版本控制。 在完成我的项目任务之后,我需要发送我的代码进行审阅。 问题是, 我在远程git分支上使用perl文件名的Windows机器上工作 ,类似于“filename :: 123.pm” 。 所以当我签​​出这个分支时,Windows会从我的本地分支中删除它们,并且所有带有::的文件名都不见了。 由于这些是重要的文件,这是我在本地分支添加的问题,不能合并,因为重要的Perl文件已经消失。 我如何避免这种情况? 我想尝试一些东西,比如忽略回购库的git克隆的特定文件,所以当我结帐时,它们被忽略,不会被删除,但这是不可能的。 我想做的另一件事是在运行linux的虚拟机上克隆,并从那里工作提交。 那么克隆是超级慢,这也不是一个选项。 使用此回购协议的最佳select是哪一个Windows机器无法读取文件名? 不,重命名这些文件是行不通的,因为如果我们这样做了还有很多工作要做。

目录在Windows上显示为文件

使用下面的代码后,我得到一个完美的工作文件夹。 至less当我检查我的Android文件浏览器。 只要我尝试打开W​​indows上的文件夹,我只能看到一个名为“testing”的文件。 代码: File folder = new File(Environment.getExternalStorageDirectory(), "test"); folder.mkdir(); MediaScannerConnection.scanFile(this, new String[]{folder.getAbsolutePath()}, null, null); 我还向AndroidManifest.xml添加了以下权限: <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 另外我已经添加了读取权限,以防媒体扫描器需要它。 这也没有工作。 我注意到这个代码在Android 4.4.4上工作得很好,但在5.1.1上创build了这个文件。 如果有人有答案,我会很高兴。 我一直在寻找答案已经有一段时间了。 提前致谢!

使用c / c ++打开随机命名文件夹中的文件

我试图编写一个程序打开并自动读取文件。 但问题是该文件存储在一个名称未知的文件夹中。 我只知道文件夹的位置和文件的名称。 如何在char *中获取该文件的path? 编辑:例如: d:\files\<random folder>\data.txt 我不知道随机文件夹的名称,但我知道它存在于d:\files

如何使用Windows命名约定从pathparsing驱动器?

PHP有很多好的function,比如pathinfo , basename , dirname等等。 关于path部分的stackoverflow的许多问题。 但是其中大多数不支持Windows文件path约定 – 命名文件,path和命名空间 。 看看这个正确的道路: \\?\UNC\server\share\file.txt —- ———- —— | | |-> File | |-> Path |-> Driver “驱动”可以是: “\\。\” “\\。\ PhysicalDiskX”(其中X是一个有效的整数值) “\”\“(内核级文件parsing) “全球??” 等等 以及一些短/长命名约定的方面。 题 如何parsing文件path服从windows命名约定?

使用mfc / win32将我的程序自己的一部分窗口保存到位图文件中

在我的mfc程序中,我需要以编程方式捕获程序自己窗口的一部分,然后将其保存为文件(bmp或jpg等)。 如何做到这一点,而不使用第三方库?