在它的文档中AsyncReadExt::read_u64说它具有与 相同的错误AsyncReadExt::read_exact,但没有提及取消安全性。read_<type>这同样适用于上的所有其他函数AsyncReadExt。它们似乎具有与read_exact(即没有)相同的取消安全性,但这是真的吗?
是否有另一种方法以取消安全的方式读取接下来的 4 个字节?
Tokio 中有一些东西可以在更高级别上涵盖我的用例,但我想知道我自己将如何做到这一点。
我正在使用BufferedReader,虽然我调用了close()方法,但eclipse仍然给了我一个警告.如果我在while之前放置close()调用,Eclipse不会给我一个警告,但是在那时代码不起作用.我的代码中是否有错误,或者还有什么问题?码:
Hashtable<String, Hashtable<String, Integer>> buildingStats = new Hashtable<String, Hashtable<String, Integer>>();
try
{
BufferedReader br = new BufferedReader(new FileReader(new File("Assets/Setup/Buildings.txt"))); // Sets the buildings values to the values in Buildings.tx
String line;
int lineNum = 0;
while((line = br.readLine()) != null)
{
++lineNum;
String[] values = line.split(",");
if (values.length != 3)
throw new Exception("Invalid data in Assets/Setup/Buildings.txt at line " + lineNum);
if (buildingStats.containsKey(values[0]))
{
buildingStats.get(values[0]).put(values[1], Integer.parseInt(values[2]));
}
else
{
buildingStats.put(values[0], new Hashtable<String, Integer>());
buildingStats.get(values[0]).put(values[1], Integer.parseInt(values[2]));
}
}
br.close();
}
catch …Run Code Online (Sandbox Code Playgroud)