如何在java中检索.txt的所有十六进制值
我有一个有很多行的文件。 例: 我只想把这些十六进制值放在一个字节数组中。 我曾尝试使用BufferReader并将行拆分为“”,但我需要找到一种方法来专门保留十六进制值如何在java中检索.txt的所有十六进制值,java,parsing,Java,Parsing,我有一个有很多行的文件。 例: 我只想把这些十六进制值放在一个字节数组中。 我曾尝试使用BufferReader并将行拆分为“”,但我需要找到一种方法来专门保留十六进制值 提前感谢您的帮助。您可以使用正则表达式模式进行筛选。如果您使用的是Java8,则在该行上循环并使用filter函数 所以首先定义你的模式 final Pattern p= Pattern.compile("0x[0-9A-F]+$"); 然后,您可以根据需要筛选每个线阵列 String[] splitLineArray=li
提前感谢您的帮助。您可以使用正则表达式模式进行筛选。如果您使用的是Java8,则在该行上循环并使用filter函数 所以首先定义你的模式
final Pattern p= Pattern.compile("0x[0-9A-F]+$");
然后,您可以根据需要筛选每个线阵列
String[] splitLineArray=line.split(" ");
String[] hexNumbers=Arrays.stream(splitLineArray).filter((s)-> p.matcher(s).matches()).toArray();
这将返回一个只包含十六进制数的新数组。我将使用可以读取令牌和模式的
java.util.Scanner
,下面是可以读取文件的代码:
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
import java.util.regex.Pattern;
public class ReadOnlyHex {
private static Pattern pattern = Pattern.compile("0x\\d{4}");
public static void main(String[] args) throws FileNotFoundException {
Scanner in = new Scanner(new File("c:/temp/input.txt"));
while(in.hasNextLine()) {
String token = in.findInLine(pattern);
if (token == null) {
in.nextLine();
continue;
}
System.out.println(token.getBytes());
}
in.close();
}
}
我只能假设您正在查找字符串的字节数组,这可以通过string.getBytes()
否则,该值表示一个
int
,以后可以将其更改为Integer。toBinaryString
这正是我想要的!多谢各位
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
import java.util.regex.Pattern;
public class ReadOnlyHex {
private static Pattern pattern = Pattern.compile("0x\\d{4}");
public static void main(String[] args) throws FileNotFoundException {
Scanner in = new Scanner(new File("c:/temp/input.txt"));
while(in.hasNextLine()) {
String token = in.findInLine(pattern);
if (token == null) {
in.nextLine();
continue;
}
System.out.println(token.getBytes());
}
in.close();
}
}