gpt4 book ai didi

java - 从字符串文件读取时如何识别特殊分隔符字符串?

转载 作者:行者123 更新时间:2023-12-01 05:48:14 25 4
gpt4 key购买 nike

我想从文件中读取字符串。当找到某个字符串( >< )时,我想开始读取整数,并将它们转换为二进制字符串。

我的程序正在读取字符串并将它们保存在 ArrayList 中成功了,但是它无法识别 ><符号,因此二进制字符串的读取不成功。

代码

<小时/>
try {
FileInputStream fstream = new FileInputStream(fc.getSelectedFile().getPath());
// Get the object of DataInputStream
DataInputStream ino = new DataInputStream(fstream);
BufferedReader br = new BufferedReader(new InputStreamReader(ino));
String ln;
String str, next;
int line, c =0;

while ((ln = br.readLine()) != null) {
character = ln;
System.out.println(character);
iname.add(ln); // arraylist that holds the strings
if (iname.get(c).equals("><")) {
break; // break and moves
// on with the following while loop to start reading binary strings instead.

}
c++;
}

String s = "";
// System.out.println("SEQUENCE of bytes");

while ((line = ino.read()) != -1) {
String temp = Integer.toString(line, 2);
arrayl.add(temp);
System.out.println("telise? oxii");
System.out.println(line);
}

ino.close();

} catch (Exception exc) { }

我尝试读取的文件例如:

 T 
E
a
v
X
L
A
.
x
"><"
sequence of bytes.

最后一部分保存为字节并在文本文件中显示如下。不用担心,这一点有效。所有字符串都保存在新行中。

最佳答案

< is two characters and iname.get(c) is only one character.

你应该做的是测试 ln 是否等于 > ,然后再测试下一个字符是否等于 < 。如果两个测试都通过,则跳出循环。

你必须小心

关于java - 从字符串文件读取时如何识别特殊分隔符字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5354107/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com