Articles of 文件types

是什么导致计算机将文件识别为某种文件types? 以及如何改变它(与Java)?

我正在创build一个java程序,它读取一个文件的inputstream,通过根据密码更改字节数来encryption它,并创build一个新的encryption文件。 例如: 我创build了一个包含以下文字的testing文件: This is a test to see if the encrypter project works. 当我读取java中的字节时,我得到: [84, 104, 105, 115, 32, 105, 115, 32, 97, 32, 116, 101, 115, 116, 32, 116, 111, 32, 115, 101, 101, 32, 105, 102, 32, 116, 104, 101, 32, 101, 110, 99, 114, 121, 112, 116, 101, 114, 32, 112, […]

parsingps'“etime”输出并将其转换为秒

这些是ps h -eo etime可能的输出格式 21-18:26:30 15:28:37 48:14 00:01 如何parsing他们到几秒钟? 请假定至less3位数的部分,因为我不知道多久可以。 输出将被egreped为只有一行,所以不需要循环。

我可以假设长整型的大小总是4个字节?

long int (据我所知是一个long的同义词)是否总是为4个字节? 我可以依靠吗? 如果不是的话,对于一个基于POSIX的操作系统来说可能是真的吗

plain C:用fopen()打开一个目录

我有一个程序打开一个文件,并检查其长度。 FILE* fd = fopen(argv[1], "rb"); fseek(fd, 0, SEEK_END); size_t flen = ftell(fd); if (flen == ((size_t)-1)) { printf("%s is a directory.\n", argv[1]); fclose(fd); exit(1); } 现在,至less在Linux下, fopen()在打开目录时返回一个有效的文件描述符。 这导致查找操作返回-1 (或者,在64位系统上size_t是无符号的, 0xFFFFFFFF )。 不幸的是,在上面的代码( flen == ((size_t)-1) )中的条件不能捕捉到这种情况, flen == 0xFFFFFFFF也没有。 printf() – 使用%x ord %d作为格式string的命令显示比较的两边应具有相同的值。 为什么比较运算符以这样一种奇怪的方式运行,即使双方的types相同( size_t )? 我使用gcc 4.8.1作为编译器。

如何find一个文件“MIMEtypes(Content-Type?)”?

有没有办法find一个Linux bash脚本中的文件的MIMEtypes(或称为“内容types”…)? 我需要它的原因是因为imageshack似乎需要它上传一个文件,因为它检测到.png文件为“application / octet-stream”… 我检查过这个文件,它确实是一个.png $ cat /1.png ?PNG (with a heap load of random characters) 这给了我错误: $ curl -F "fileupload=@/1.png" http://www.imageshack.us/upload_api.php <links> <error id="wrong_file_type">Wrong file type detected for file 1.png:application/octet-stream</error> </links> 这工作,但我需要指定一个MIMEtypes。 $ curl -F "fileupload=@/1.png;type=image/png" http://www.imageshack.us/upload_api.php

在Windows C / C ++中使用半字节(4位variables)

我正在编程networking标题和许多协议使用4位字段。 有一种方便的types可以用来表示这些信息吗? 我发现的最小types是BYTE。 然后,我必须使用大量的二进制操作来引用该variables中的几个位。

读取包含复杂数据的Windows事件负载

在我以前的问题,我发布了我试图序列化的XML。 这是另一个XML示例: <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event"> <System> <Provider Name="XXXXXXXXXX" Guid="{YYYYYYYY}" /> <EventID>XYZ</EventID> <Version>0</Version> <Level>L</Level> <Task>A</Task> <Opcode>0</Opcode> <Keywords>0x000xyzh</Keywords> <TimeCreated SystemTime="2012-06-28T15:44:04.997837000Z" /> <EventRecordID>153</EventRecordID> <Correlation ActivityID="{DDDDDDDDD}" /> <Execution ProcessID="199999" ThreadID="90990" /> <Channel>Microsoft-Windows-ABCDEFG/Admin</Channel> <Computer>myPC</Computer> <Security UserID="ABCABC" /> </System> <EventData> <Data Name="name1">data1</Data> <Data Name="name2">data2</Data> <Data Name="name3">data3</Data> <ComplexData Name="XYZXYZ">0C004300310022002D004400460053005400450053002200310003004E0053003200230041002D00570041002D00320045004400000047006C002900620061006C0048006900670068005000720069006F007200240074006600120044006100730087000000000000000000000000000000</ComplexData> </EventData> <RenderingInfo Culture="en-US"> <Message>some message </Message> <Level>Information</Level> <Task>XYZ</Task> <Opcode>Info</Opcode> <Channel /> <Provider /> <Keywords> […]

如何使用Delphi获取与文件扩展名关联的程序的名称?

我需要获取当前与当前用户的文件扩展名关联的程序的名称。 如果你右键点击一个文件并select属性,那么我需要的是“Opens with”行右边的程序名。 例如,对于“.xls”,我希望能够得到答案“Microsoft Office Excel”,或用户使用其默认程序打开.xls文件的任何程序。 我已经确定它不像进入HKEY_CLASSES_ROOT并挑选它,因为它也可以在HKEY_LOCAL_MACHINE或HKEY_CURRENT_USER或HKEY_USERS中指定。 也许我需要知道的是Windows使用的啄食顺序来确定这个以及如何到达每个位置。 当然,一个Windows API调用来做到这一点是理想的。 这是一个类似的问题: 如何从文件扩展名使用Delphi获取图标和描述? 但是这个问题只回答了如何得到相关程序的扩展名和图标的描述。 我无法find一种方法来扩展,以获得相关的程序的名称。 我使用的是Delphi 2009,需要一个适用于Windows XP,Vista和7的解决scheme。 谢谢大家的答案。 看来我相信,可执行文件的名字毕竟不在registry中。 而广泛的四处寻找一个Windows API的名称,我找不到。 我认为Mef的答案是最好的。 从程序可执行文件中包含的信息中获取可执行文件的名称。

将WebGL …属性设置为零时的Windows特定问题?

我正在使用WebGL进入一个难以debugging的问题。 我正在为CraftyJS游戏框架实现一个WebGL后端。 一切工作在OSX,Linux和Android的绝对好,但是当一个合作者在Windows上testing时,有一个重要的错误 – 旋转的精灵呈现不旋转! 我能够在IE,Chrome和Firefox上复制这个。 我正在使用的顶点程序的一个例子,它只是呈现一个彩色的矩形: attribute vec2 aPosition; attribute vec3 aOrientation; attribute vec4 aExtra; attribute vec4 aColor; varying lowp vec4 vColor; uniform vec4 uViewport; mat4 viewportScale = mat4(2.0 / uViewport.z, 0, 0, 0, 0, -2.0 / uViewport.w, 0,0, 0, 0,1,0, -1,+1,0,1); vec4 viewportTranslation = vec4(uViewport.xy, 0, 0); vec2 entityOrigin = aOrientation.xy; mat2 entityRotationMatrix […]

如何在registry中设置一个最高位的DWORD

我遇到了一个奇怪的问题:当从我的C#应用​​程序设置Windowsregistry中的DWORDtypes的值时,我设置最高位时不断收到错误。 显然似乎有签名和无符号整数之间的某种转换问题。 例如:当我做这样的事情 regKey.SetValue("Value", 0x70000000u, RegistryValueKind.DWord); 它工作正常。 但是当我添加最高位(这是因为我具体处理无符号整数,应该只是另一个值位),像这样 regKey.SetValue("Value", 0xf0000000u, RegistryValueKind.DWord); 我得到一个exception(“值对象的types不匹配指定的RegistryValueKind或对象无法正确转换”)。 但它不应该工作? DWORD是一个无符号的32位整型数据types, 0xf0000000u文字也是这样(C#自动将它分配给UInt32数据types),所以它们应该是完美匹配的(并且在registry编辑器中手动将值设置为“0xf0000000”可以正常工作也是)。 这是在.NET中的错误,或者我做错了什么?