标签: binaryfiles

将.class文件转换为二进制文件?

在编译'.java'文件时,它将创建一个新的'.class'文件,该文件不是纯二进制文件.要运行此文件,您需要一个名为"java"的解释器.有没有办法将这个'.class'文件转换为二进制文件?你不需要另外一个程序运行?

Linux中的F.ex'./ filename'.

对不起,我的英语不好.

-Henrik

java binaryfiles

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

C:在二进制文件中写入和读取字符串

我想将字符串存储在二进制文件中,以及许多其他数据,我使用下面的代码(当我真正使用它时,字符串将被malloc'd)我可以写入文件.我在十六进制编辑器中看了它.我不确定我是否正确地写了空终结符(或者如果我需要).当我读回来时,我获得了与我存储的相同的字符串长度,但不是字符串.我究竟做错了什么?

FILE *fp = fopen("mybinfile.ttt", "wb");

char drumCString[6] = "Hello\0";
printf("%s\n", drumCString);    
//the string length + 1 for the null terminator
unsigned short sizeOfString = strlen(drumCString) + 1;
fwrite(&sizeOfString, sizeof(unsigned short), 1, fp);

//write the string
fwrite(drumCString, sizeof(char), sizeOfString, fp);

fclose(fp);

fp = fopen("mybinfile.ttt", "rb");  

unsigned short stringLength = 0;
fread(&stringLength, sizeof(unsigned short), 1, fp);

char *drumReadString = malloc(sizeof(char) * stringLength);
int count = fread(&drumReadString, sizeof(char), stringLength, fp);

//CRASH POINT
printf("%s\n", drumReadString);

fclose(fp); 
Run Code Online (Sandbox Code Playgroud)

c string binaryfiles

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

将Python中的二进制文件读入结构中

我如何在Python中打开二进制数据文件并一次一个地读回值long 到结构中.我现在有这样的东西,但我认为这将继续覆盖idList,我想追加它,所以我最终long得到文件中所有值的元组-

file = open(filename, "rb")
    try:
        bytes_read = file.read(struct.calcsize("=l"))
        while bytes_read:
            # Read 4 bytes(long integer)
            idList = struct.unpack("=l", bytes_read)
            bytes_read = file.read(struct.calcsize("=l"))
    finally:
        file.close()
Run Code Online (Sandbox Code Playgroud)

python struct binaryfiles

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

用C++读取二进制文件

我正在尝试编写一个使用C++读取二进制文件的程序.我遇到了一些不寻常的输出,我希望得到一些帮助.

我有一个以这4个字节开头的二进制文件:

A1 B2 C3 D4(已验证使用hexdump -C)

这是我用来读取这4个字节的代码:

#include <iostream> // for reading and writing files
#include <fstream>

using namespace std;

char * buffer;
unsigned int LENGTH = 4;

int main(int argc, char ** argv)
{
    // open the binary file
    ifstream infile ("dump", ios::binary | ios::in);

    // create a buffer
    buffer = new char[LENGTH];

    // read LENGTH bytes from the file
    infile.read(buffer, LENGTH);

    // append the null byte to terminate the string
    buffer[LENGTH] = '\0';

    // loop …
Run Code Online (Sandbox Code Playgroud)

c++ binaryfiles

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

为什么将FileOutputStream打开到二进制文件会破坏它?

我需要检查给定的二进制文件是否具有写访问权限.文件类API有一个错误,它在JDK7中修复,但我不能只升级到它.

以下是该错误的链接:http: //bugs.sun.com/bugdatabase/view_bug.do?video_id = 6203387

当我打开FileOutputStream时,它会破坏二进制文件,资源管理器会将其大小显示为零并且无法启动它.这是代码片段.

操作系统:Win7

请帮助我理解为什么只打开输出流(不写任何东西)会破坏二进制文件.有没有解决这个问题的方法?

这是代码片段:

private boolean hasWriteAccess(File file) {
    FileOutputStream fos = null; 
    try {
        fos = new FileOutputStream(file);
    } catch (Exception e) {
        e.printStackTrace();
        if(fos != null) {
            try {
                fos.close();
            } catch (IOException e1) {
                e1.printStackTrace();
            }
        }
        return false;
    }
    return true;
}
Run Code Online (Sandbox Code Playgroud)

java io file-permissions binaryfiles corruption

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

如何检查用于生成二进制文件的编译器

对于ARM处理器的交叉编译代码,我们有一个GCC工具链和ARM工具链.是否可以检查是否使用GCC工具链或ARM工具链编译了二进制文件.

gcc arm binaryfiles

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

Java:如何在LARGE二进制文件中查找字符串模式?

我正在尝试编写一个程序,它将读取非常大的二进制文件并尝试查找2个不同字符串的出现,然后打印与模式匹配的索引.为了示例,我们假设字符序列是[H,e,l,l,o]和[H,e,l,l,o, ,W,o,r,l,d].

我能够为小二进制文件编写代码,因为我将每个字符作为一个字节读取,然后将其保存在Arraylist.然后从的开头开始Arraylist,我是比较byte arraylist(byte[] data)用byte[] pattern.

我需要找到一种方法来做同样的事情,但没有在内存中写入整个二进制文件进行比较.这意味着我应该能够在阅读每个字符时进行比较(我不应该将整个二进制文件保存在内存中).假设二进制文件仅包含字符.

有关如何实现这一目标的任何建议?谢谢大家.

java algorithm binaryfiles out-of-memory pattern-matching

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

如何创建自动执行的JAR文件

我不是在寻找如何让我的JAR可以运行,而是自我执行.我发现这篇文章:

http://en.newinstance.it/2012/04/17/self-executing-jar-files/

我按照列出的步骤,根据需要创建了我的文件.我以为我有它工作(因为它会运行),但我意识到它实际上并没有运行JAR文件(BAT文件中嵌入的文件)的正确版本,而是来自文件系统的文件.

当我从文件系统中删除JAR文件时,Java错误说它无法找到该文件.下面是我为我的小测试项目创建的"make"脚本.您需要替换自己的路径和Java文件.

任何人都可以得到一个有效的例子吗?我最终希望能够使用可以使用的带有嵌入式二进制文件的自包含批处理文件.

@echo off
cd /d D:\current\battle
javac -d classes src\RemoveFiles.java
pushd classes
echo Main-Class: RemoveFiles > MANIFEST.MF
jar -cvmf MANIFEST.MF ..\RemoveFiles.jar RemoveFiles*.class 
popd
echo @java -jar RemoveFiles.jar %%^* > removeStub.bat
echo @exit /b >> removeStub.bat
copy removeStub.bat /b + RemoveFiles.jar /b RemoveFiles.bat /b
Run Code Online (Sandbox Code Playgroud)

感谢您的任何帮助...

java jar binaryfiles batch-file

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

请求有关C++ 11中最先进文件读取的示例

有大量关于网络上文件阅读的例子.许多示例使用普通的旧C风格文件读取.其他示例使用C++的东西,但我不知道它是否只是另一个普通程序员编写教程或者它是否是真正优秀的现代C++.

所以,问题是:现在一个优秀的C++程序员如何解决以下任务?

  1. 从二进制文件中读取一些表示单个原始类型变量的字节.
  2. 读取已知(但不是常数)长度的已知基本类型的数组.
  3. 当类型尚未知道时读取字节数组,但已知长度(以字节为单位).例如,如果从文件中读取数组,然后将其传递给实际从中构建对象的函数.

c++ stl binaryfiles

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

C++ istream :: read导致未定义的行为

我使用以下代码将n字符从二进制文件复制到char*变量:

 std::ifstream is ("write.abc", std::ifstream::binary);
  if (is) {
    // get length of file:
    is.seekg (0, is.end);
    int length = is.tellg();
    is.seekg (0, is.beg);

    char * buffer = new char [length];

    std::cout << "Reading " << length << " characters... ";
    // read data as a block:
    is.read (buffer,length);
    std::cout << "length of buffer: "<<strlen(buffer) <<endl;
    std::cout << "Content of buffer: "<<buffer <<endl;
.......
Run Code Online (Sandbox Code Playgroud)

我的文件内容:

在此输入图像描述

这是编译的结果: 在此输入图像描述

我的问题如下:我等着:

缓冲长度:13

缓冲内容:abcdefghjklmn

有人可以帮我解释一下结果吗?

c++ binaryfiles binary-data

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