ありがとうございました。 私は何をする必要があります以下の通りです:ファイルからトークンを1つだけ読み取る
**読み込むためのファイルを開きます**
**ファイルの最初のトークン[文字列]を読む**
**次の報告Read_Cursor_Position **
**
**ファイルを閉じます**トークンを返します**
**ファイルを再度開きます**
**ファイル**
などの* second *トークンを読み、必要なすべてのデータが読み込まれるまでトークンを読み込みます。 私はJavaに慣れていませんが、C++ではtellgまたはtellpを使用して、ファイルから1つのトークンだけを読み取るカーソル位置とgetlineを抽出します。 この説明が私の質問をよく説明してくれることを願っています。
デリミタを含むデータをUTFファイルに出力するメソッドを作成した後、UTFファイルからデータを抽出しようとしています。データを抽出する方法はその時点で1トークンです。以前に述べたように、トークンには区切り文字があり、区切り文字が見つかるまでファイルのトークンを読み取る必要があります。ここ は、ライターメソッドのコードです:
public void writeData(String data) throws IOException {
try {
dout.writeUTF(data);
dout.writeBytes("^");
} catch(IOException e) {
throw e;
}
}
、ここリーダーです:^ と出力され のJava^C++^PHP:
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です
Javaを同じようにするにはどうすればいいですか?
ところで、どうやって新しい質問を投稿するのですか?このウェブページには、「新しい質問を投稿する」ボタンがありません。前もって感謝します。
スキャナはファイルから読み取りますか?次に、あなたはwriteUTFを使いたくありません。 writeUTFはあなたの考え方をエンコードしません。ライターを使用し、UTF-8エンコーディング – MeBigFatGuy
Btwを指定すると、正確なコードを投稿できない可能性があります。印字線があなたの主張される出力と一致しません。 :) – Keith