我有一个 text.txt 文件,其中包含以下 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 环境中给出。我猜这是因为文件中的空白行(之后偏移量被搞砸了)。但是,我不明白,为什么我会得到两个不同的结果。我需要在两种环境中都得到一个结果。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 环境的通用函数。即使文件以文本模式复制。因为,不幸的是,我不能保证从事这个项目的每个人都将始终以二进制模式复制文件。