从文件中读取一个令牌
感谢大家的帮助。 我需要做的是以下几点:从文件中读取一个令牌
**打开一个文件进行读取**
**阅读第一令牌[字符串]在文件中**
**报表的下一个Read_Cursor_Position **
**返回令牌**
**关闭文件**
**打开文件**
**从文件**
等中读取第二个*标记等,直到读取了所有必需的数据为止。 我是Java新手,但在C++中,tellg或tellp用于提取光标位置和getline,以便从文件中读取一个标记。 我希望这个解释能更好地解释我的问题。
在编写一个将数据以分隔符输出到UTF文件的方法后,我现在试图从UTF文件中提取数据。数据必须被提取的方式是当时的一个令牌,正如我之前所说的,令牌有一个分隔符,所有Java所要做的就是读取文件的标记,直到找到分隔符为止。 下面是笔者方法的代码:
public void writeData(String data) throws IOException {
try {
dout.writeUTF(data);
dout.writeBytes("^");
} catch(IOException e) {
throw e;
}
}
,这里是读者:
public void readData() throws IllegalStateException {
try {
apstr = new StringBuilder();
while(scan.hasNext()) {
apstr.delete(0,apstr.length());
apstr.append(scan.next());
System.out.println("The token is: " + apstr);
}
} catch(IllegalStateException e) {
scan.close();
throw e;
}
scan.close();
}
该文件包含以下数据: 的Java^C++^PHP^ ,输出为: Java^C++^PHP^ 但我想读的是Java这个词
我该如何让Java做同样的事情?顺便说一下,我怎么去发布一个新的问题?此网页上没有显示“发布新问题”的按钮。提前致谢。
它包含一个构造函数StringTokenizer(String str, String delim)
- 其中您的分隔符将是克拉(“^”)字符,并且函数返回下一个标记为String。
此外,此StackOverflow post演示了将文件读取到String
的各种选项。
您应该使用Writer写入您的文件。如果你想使用utf-8编码做类似
PrintWriter pw = new PrintWriter(new OutputStreamWriter(new FileOutputStream(“somepath”),StandardCharsets.UTF_8)));
然后做
pw。println(“一些文本”);
使用DataOutputStream来处理您将要使用扫描仪读取的内容不起作用。
所以扫描仪正在从文件中读取?然后你不想使用writeUTF。 writeUTF不会按照您认为的方式进行编码。使用一个作家,并指定UTF-8编码 – MeBigFatGuy
顺便说一句,你_无法可能发布你的确切代码。该印刷线与您所称的输出不符。 :) – Keith