在我的程序中,它读取了一个名为 datafile.txt 的文件...里面的 datafile.txt 是随机的 3 行单词。我的程序所做的是读取用户输入的文件,然后他们可以输入 Line # 和 Word #,它会告诉他们该位置的单词.. 例如..
要读取的文件是什么?
数据文件.txt
请输入行号和字号(第一行是1)。
2 2
这个词是:
我的问题是我的程序将 txt 文档中的 3 行读取为 0, 1 ,2 并且单词从 0 开始。所以要读取第一行中的第一个单词,他们必须输入 0,0 而不是 1,1 . 我想做的是让它工作,这样他们就可以输入 1,1 而不是 0,0。不知道我现在的问题是什么,这是我的代码....
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.io.FileNotFoundException;
import java.util.ArrayList;
import java.util.Scanner;
public class readingFile {
/**
* @param args
* @throws IOException
* @throws validException
*/
public static void main(String[] args) throws IOException, checkException
{
System.out.println("Enter file name: " );
Scanner keyboard = new Scanner(System.in);
BufferedReader inputStream = null;
ArrayList<String> file = new ArrayList<String>();
String fileName = keyboard.next();
System.out.println ("The file " + fileName +
" has the following lines below: ");
System.out.println();
try
{
inputStream = new BufferedReader(new FileReader(fileName));
ArrayList<String> lines = new ArrayList<String>();
while(true)
{
String line = inputStream.readLine();
if(line ==null)
{
break;
}
Scanner itemnize = new Scanner(line);
while(itemnize.hasNext())
{
lines.add(itemnize.next());
}
lines.addAll(lines);
System.out.println(lines+"\n");
}
System.out.println("Please enter the line number and word number");
int index1 = keyboard.nextInt();
int index = keyboard.nextInt();
System.out.println("The word is: "+ lines.get(index));
}
catch(FileNotFoundException e)
{
System.out.println("Error opening the file " + fileName);
}
inputStream.close();
}
private static void checkValid(ArrayList<String> items, int index) throws checkException
{
throw new checkException("Not Found");
}
}