Tag: 二进制文件

使用二进制搜索按顺序添加到ArrayList

大家好,希望你能在这里帮助我, 我的问题是我需要能够使用二进制搜索搜索ArrayList,并找到添加对象的正确位置,以便列表保持有序。 我不能使用集合排序,因为这是一个功课。 我已经正确实现了一个布尔方法,该方法告诉列表是否包含您要搜索的项目。 那段代码在这里: public static boolean search(ArrayList a, int start, int end, int val){ int middle = (start + end)/2; if(start == end){ if(a.get(middle) == val){ return true; } else{ return false; } } else if(val < a.get(middle)){ return search(a, start, middle – 1, val); } else{ return search(a, middle + 1, end, […]

我如何读取java中的二进制数据文件

所以我正在为学校做一个项目,我需要在二进制数据文件中读取并使用它来为角色制作统计数据,如力量和智慧。 它的设置使前8位构成一个统计数据。 我想知道这样做的实际语法是什么。 是否像阅读文本文件一样。 File file = new File(“CharacterStats.dat”); Scanner inputScanner = new Scanner(file); inputScanner.next();

在java中读取c#二进制文件

我在C#.net中有一个程序,它使用BinaryWriter.Write()将1个整数和3个字符串写入文件。 现在我用Java编程(对于Android,我是Java的新手),我必须访问以前使用C#写入文件的数据。 我尝试使用DataInputStream.readInt()和DataInputStream.readUTF() ,但我无法获得正确的结果。 我经常得到一个UTFDataFormatException : java.io.UTFDataFormatException:字节21周围的格式错误的输入 或者我得到的String和int是错的…… FileInputStream fs = new FileInputStream(strFilePath); DataInputStream ds = new DataInputStream(fs); int i; String str1,str2,str3; i=ds.readInt(); str1=ds.readUTF(); str2=ds.readUTF(); str3=ds.readUTF(); ds.close(); 这样做的正确方法是什么?

首次出现在二分搜索中

我正在修补一些代码,我意识到我从来不知道的事情。 正常的二进制搜索将在数据集中返回多次出现的密钥的随机索引。 如何修改下面的代码以返回第一次出现 ? 这是人们做的事吗? //ripped from the JDK public static int binarySearchValue(InvertedContainer.InvertedIndex[] a, long key) { return bSearchVal(a, 0, a.length, key); } private static int bSearchVal(InvertedContainer.InvertedIndex[] a, int fromIndex, int toIndex, long key) { int low = fromIndex; int high = toIndex – 1; while (low >> 1; long midVal = a[mid].val; if (midVal […]

java:将二进制字符串转换为int

我正在尝试将几个二进制字符串转换回int。 但它没有转换我的所有二进制字符串,留下了java.lang.NumberFormatExceptionexception。 这是我的测试代码,带有3个二进制字符串: public class Bin { public static void main(String argvs[]) { String binaryString ; binaryString = Integer.toBinaryString(~0); //binaryString = Integer.toBinaryString(~1); //binaryString = “1010” ; int base = 2; int decimal = Integer.parseInt(binaryString, base); System.out.println(“INPUT=” + binaryString + ” decimal=” + decimal) ; } } 如果我转换“1010”它的效果很好,但是当我尝试转换其他两个中的一个时,我得到了exception。 有人能解释一下为什么会这样吗? 干杯

如何通过Java套接字以二进制forms发送数据?

我已经看到很多在Java中通过套接字发送序列化数据的例子,但我想要的只是发送一些简单的整数和一个字符串。 而且,问题是我正在尝试将这些传达给用C编写的二进制文件。 那么,底线:如何在Java中通过套接字发送一些字节?

在shell脚本中嵌入可执行二进制文件

首先,我已经使用Google搜索,但只找到了将压缩文件(例如.tar.gz )嵌入到shell脚本中的示例。 基本上如果我有一个打印字符串的C程序( hello.c ),请说Hello World! 。 我编译它以获得可执行的二进制文件 gcc hello.c -o hello 现在我有一个shell脚本testEmbed.sh 我要问的是,是否可以在shell脚本中嵌入二进制文件( hello ),以便在运行时 ./testEmbed.sh 它执行二进制文件来打印Hello World! 。 澄清 :一种方法是将可执行文件压缩到一个存档中,然后在脚本运行时将其解压缩。 我要问的是,如果没有它可以运行程序。 到目前为止,我正在尝试这种方法。 但它对我不起作用。 我猜作者正在另一个架构上使用其他一些发行版。 所以,基本上这对我不起作用。 :P 另外,如果C程序的工作流程与Java jar不同,我也想知道!