我目前正在创建一个工具,可以提取和搜索存储在大学项目的智能手表上的数据。
我已经能够从我的智能手表中提取一个名为“Node.db”的文件,其中包含智能手表所连接的手机的蓝牙MAC地址。我现在正在尝试创建扫描程序而不是扫描此“node.db”文件并打印出MAC地址。
这是我目前的代码:
// Identify the location of the node.txt file
File file = new File("C:\\WatchData\\node.txt");
// Notify the user that Bluetooth extraction has initalized
Txt_Results.append("Pulling bluetooth data...");
Scanner in = null;
try {
in = new Scanner(file);
while(in.hasNext())
{ // Scan till the end of the file
String line=in.nextLine();
// Scan the file for this string
if(line.contains("settings.bluetooth"))
// Print the MAC Address string out for the user
System.out.println(line);
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
上一个函数将文件转换为.txt。 代码搜索每一行并查找“settings.bluetooth”,并打印出包含MAC地址的该行(如果找到)。但是,我相信node.db文件的格式是阻止扫描程序找到此字符串。我相信文件中的一些数据是经过编码的。下面显示了如何呈现数据的示例。我相信它是不识别的黑色字符:
当我在文件上运行代码时,程序将挂起并且不提供任何错误消息。我让程序运行超过20分钟仍然没有成功。
我尝试从文件中打印的确切行如下所示:
我已经在没有这些编码字符的文本文件上测试了此代码,并且可以得出结论代码确实有效。所以我的问题如下:
有没有办法可以让扫描仪跳过文件中无法识别的字符,以便继续扫描文件?
提前致谢。