次のtxtを含むtext.txtファイルがあります。
Kontagent Announces Partnership with Global Latino Social Network Quepasa
Released By Kontagent
このテキスト ファイルを文字列 documentText に読み込みます。
documentText.subString(0,9)
を与えますKontagent
。これは良いことです。
ただし、Windows(IntelliJ Idea)で提供documentText.subString(87,96)
し 、Unix環境で提供します。ファイル内の空白行が原因で発生していると推測しています(その後、オフセットがねじ込まれました)。しかし、なぜ2つの異なる結果が得られるのか理解できません。両方の環境で 1 つの結果を取得する必要があります。y Kontage
Kontagent
ファイルを文字列として読み取るには、ここで説明したすべての関数を使用しまし た ファイルの内容から Java 文字列を作成するにはどうすればよいですか? . ただし、関数を使用した後でも同じ結果が得られます。
現在、この関数を使用してファイルを documentText 文字列に読み込みます。
public static String readFileAsString(String fileName)
{
File file = new File(fileName);
StringBuilder fileContents = new StringBuilder((int)file.length());
Scanner scanner = null;
try {
scanner = new Scanner(file);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
String lineSeparator = System.getProperty("line.separator");
try {
while(scanner.hasNextLine()) {
fileContents.append(scanner.nextLine() + lineSeparator);
}
return fileContents.toString();
} finally {
scanner.close();
}
}
編集: Windows 環境と UNIX 環境の両方で機能する一般的な関数を作成する方法はありますか。ファイルがテキストモードでコピーされた場合でも。残念ながら、このプロジェクトに取り組んでいる全員が常にバイナリ モードでファイルをコピーするとは保証できません。