gpt4 book ai didi

java - 使用java读取文本文件中一定数量的行

转载 作者:行者123 更新时间:2023-12-01 04:55:56 26 4
gpt4 key购买 nike

我有一个包含数据的文本文件。该文件包含所有月份的信息。假设 1 月份的信息占据 50 行。从2月份开始,它就多了40条线路。比我三月等等...是否可以只读取文件的一部分?我可以说“从 X 行读到 Y 行”吗?或者有更好的方法来实现这一点吗?我只想打印一个月的数据而不是所有文件。这是我的代码

public static void readFile()
{
try
{
DataInputStream inputStream =
new DataInputStream(new FileInputStream("SpreadsheetDatabase2013.txt"));

while(inputStream.available() != 0)
{
System.out.println("AVAILABLE: " + inputStream.available());
System.out.println(inputStream.readUTF());
System.out.println(inputStream.readInt());
for (int i = 0; i < 40; i++)
{
System.out.println(inputStream.readUTF());
System.out.println(inputStream.readUTF());
System.out.println(inputStream.readUTF());
System.out.println(inputStream.readUTF());
System.out.println(inputStream.readUTF());
System.out.println(inputStream.readDouble());
System.out.println(inputStream.readUTF());
System.out.println(inputStream.readBoolean());
System.out.println();
}
}// end while
inputStream.close();
}// end try
catch (Exception e)
{
System.out.println("An error has occurred.");
}//end catch
}//end method

感谢您的宝贵时间。

最佳答案

我的方法是读取文本文件的全部内容并将其存储在 ArrayList 中,并仅读取请求月份的行。

示例:

使用此函数读取文件中的所有行。

/**
* Read from a file specified by the filePath.
*
* @param filePath
* The path of the file.
* @return List of lines in the file.
* @throws IOException
*/

public static ArrayList<String> readFromFile(String filePath)
throws IOException {
ArrayList<String> temp = new ArrayList<String>();
File file = new File(filePath);
if (file.exists()) {
BufferedReader brin;
brin = new BufferedReader(new FileReader(filePath));
String line = brin.readLine();
while (line != null) {
if (!line.equals(""))
temp.add(line);
line = brin.readLine();
}
brin.close();
}
return temp;
}

然后从 ArrayList temp 中仅读取您需要的内容。

示例:

如果你想读取2月份的数据,假设有50行数据,从第40行开始。

for(int i=40;i<90;i++)
{
System.out.println(temp.get(i));
}

注意:这只是实现此目的的一种方法。不知道还有没有其他办法!

关于java - 使用java读取文本文件中一定数量的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14143970/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com