【发布时间】:2014-06-05 05:30:34
【问题描述】:
所以基本上,我有一个考试问题,上面写着“将您的目录添加到此方法”,后续问题要求我使用此方法。拥有 Mac 的同学以及考官出于某种原因设法让文件正常工作。
public static String GetTextFromFile(int startPosition, int endPosition) {
String gotText = "";
String outText = "";
try {
Scanner fileInp = new Scanner(new File(
"C:/Users/Ted/Desktop/diary.txt"));
while (fileInp.hasNextLine()) {
gotText = gotText + fileInp.nextLine();
gotText = gotText + "\n";
}
// System.out.println(gotText);
for (int i = startPosition; i <= endPosition; i = i + 1) {
outText = outText + gotText.charAt(i - 1);
}
fileInp.close();
return outText;
} catch (IOException e) {
return outText;
}
}
我使用的是 Windows,为什么这对我不起作用? 这就是输入的错误所说的 起点1和终点9
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 0
at java.lang.String.charAt(String.java:658)
at java.lang.String.charAt(String.java:658)
at secretmessages.SecretMessages.GetTextFromFile(SecretMessages.java:78)
at secretmessages.SecretMessages.EveryNthCharacterSteganography(SecretMessages.java:199)
at secretmessages.SecretMessages.main(SecretMessages.java:322)
【问题讨论】:
-
gotText 的值是多少?您是否尝试打印该值
-
看来你的
gotText.length < endpoint -
@Sanjeev 值为空字符串,检查异常
-
@Youngistan 我看到了。我的观点也适用。
-
@Sanjeev 我不会说你不正确。我说值是空的