Java 数组读取问题

Java 数组读取问题,java,arrays,arraylist,Java,Arrays,Arraylist,你好。我有下面的代码部分,我正在努力使其工作。我有一个包含问题的文本文件,它的结构是,文本文件中的每个问题占据10行,但我只想显示每个问题的前6行,然后隐藏其余的 我在文件中的问题如下所示: 集合 以下哪一项不是“真实”收藏的示例? A.在纸牌游戏中你持有的牌。 B您最喜爱的歌曲存储在计算机中。 C足球队的队员。 D一本书的页数。 d、 ///回答 多线程 无限期延期通常被称为uuuuuuuuuuuuuuuuuuuuu。 A.僵局 B消化不良 C饥饿。 D以上都没有。 c、 ///回答 基本上

你好。我有下面的代码部分,我正在努力使其工作。我有一个包含问题的文本文件,它的结构是,文本文件中的每个问题占据10行,但我只想显示每个问题的前6行,然后隐藏其余的

我在文件中的问题如下所示:

集合
以下哪一项不是“真实”收藏的示例?
A.在纸牌游戏中你持有的牌。
B您最喜爱的歌曲存储在计算机中。
C足球队的队员。
D一本书的页数。
d、 ///回答
多线程
无限期延期通常被称为uuuuuuuuuuuuuuuuuuuuu。
A.僵局
B消化不良
C饥饿。
D以上都没有。
c、 ///回答
基本上,它只是显示问题,而不是答案。这就是我到目前为止想要实现的目标

任何帮助都将不胜感激

File filing = new File(file);


        pattern.setFileName(filing.getAbsolutePath());

        if(filing.getAbsoluteFile().exists())
        {
            try{

            ReadFile myFile = new ReadFile(pattern.getFileName());

            String[ ] aryLines = myFile.OpenFile( );

             int i;


            for ( i=0; i < aryLines.length; i++ ) 
                {
                    System.out.println( aryLines[ i ] ) ;

                    if(i == 6)
                        i = i+3;
                }
文件归档=新文件(文件);
pattern.setFileName(file.getAbsolutePath());
如果(fileing.getAbsoluteFile().exists())
{
试一试{
ReadFile myFile=新的ReadFile(pattern.getFileName());
字符串[]aryLines=myFile.OpenFile();
int i;
对于(i=0;i
ReadFile类

import java.io.IOException;
import java.io.IOException;
import java.io.FileReader;
import java.io.BufferedReader;
public class ReadFile 
{
    private String path;

     ///////////// set file name

    public ReadFile(String filePath) 
    {
        path = filePath;
    }

    public String[] OpenFile() throws IOException
    {
        FileReader fr = new FileReader(path);

        BufferedReader textReader = new BufferedReader(fr);


        int numberOflines = path.length();

        String[] textData = new String[numberOflines];

        int count;

        for(count = 0; count < numberOflines; count++)
        {
            textData[count] = textReader.readLine();


        }

        textReader.close();
        return textData;
    }

    int readLines() throws IOException
    {
        FileReader fileToRead = new FileReader(path);

        BufferedReader br = new BufferedReader(fileToRead);

        String aLine;

        int numberOfLines = 0;

        while ( ( aLine = br.readLine( ) ) != null ) 
            {
                numberOfLines++;
            }

            br.close();

            return numberOfLines;
    }
}
import java.io.IOException;
导入java.io.IOException;
导入java.io.FileReader;
导入java.io.BufferedReader;
公共类读取文件
{
私有字符串路径;
/////////////设置文件名
公共读取文件(字符串文件路径)
{
路径=文件路径;
}
公共字符串[]OpenFile()引发IOException
{
FileReader fr=新的FileReader(路径);
BufferedReader textReader=新的BufferedReader(fr);
int numberOflines=path.length();
字符串[]文本数据=新字符串[numberOflines];
整数计数;
对于(计数=0;计数
您可以尝试在嵌套for循环中进行迭代,如下所示:

    for (int i = 0; i < aryLines.length; i += 10) {
        // every iteration brings you to the beginning of a new question
        for (int j = 0; j < 6; j++) {
            System.out.println(aryLines[i + j]);
        }
    }
for(int i=0;i
您可以尝试在嵌套for循环中进行迭代,如下所示:

    for (int i = 0; i < aryLines.length; i += 10) {
        // every iteration brings you to the beginning of a new question
        for (int j = 0; j < 6; j++) {
            System.out.println(aryLines[i + j]);
        }
    }
for(int i=0;i
您可以尝试在嵌套for循环中进行迭代,如下所示:

    for (int i = 0; i < aryLines.length; i += 10) {
        // every iteration brings you to the beginning of a new question
        for (int j = 0; j < 6; j++) {
            System.out.println(aryLines[i + j]);
        }
    }
for(int i=0;i
您可以尝试在嵌套for循环中进行迭代,如下所示:

    for (int i = 0; i < aryLines.length; i += 10) {
        // every iteration brings you to the beginning of a new question
        for (int j = 0; j < 6; j++) {
            System.out.println(aryLines[i + j]);
        }
    }
for(int i=0;i
实际上,您甚至不需要
ReadFile
类来读取文件中的所有行。Java在
Java.nio.file
包中为您提供
Files
实用程序类,该包具有
readAllLines(路径)
method。注释中已经提到的
i==6
只允许处理第六行,但不处理第16行和第26行。要处理这些情况,可以创建两个循环,如

或者只需检查最后一个数字是否为
6
。要获取最后一个数字,您可以使用模(提醒)运算符
%
,这样您的条件就可以重写为
如果(i%10==6)

所以,处理您的问题的简化代码看起来就像

List<String> lines = Files.readAllLines(Paths.get("input.txt"));
// or in Java 7
// List<String> lines = Files.readAllLines(Paths.get("input.txt"),StandardCharsets.UTF_8);

for (int i = 0; i < lines.size(); i++) {
    System.out.println(lines.get(i));
    if (i % 10 == 6)
        i = i + 3;// or +4 if you don't want to separate questions with empty line
}
List lines=Files.readAllLines(path.get(“input.txt”);
//或者使用Java7
//列表行=Files.readAllLines(path.get(“input.txt”)、StandardCharsets.UTF_8);
对于(int i=0;i
实际上,您甚至不需要
ReadFile
类来读取文件中的所有行。Java在
Java.nio.file
包中为您提供
Files
实用程序类,该包具有
readAllLines(路径)
method。注释中已经提到的
i==6
只允许处理第六行,但不处理第16行和第26行。要处理这些情况,可以创建两个循环,如

或者只需检查最后一个数字是否为
6
。要获取最后一个数字,您可以使用模(提醒)运算符
%
,这样您的条件就可以重写为
如果(i%10==6)

所以,处理您的问题的简化代码看起来就像

List<String> lines = Files.readAllLines(Paths.get("input.txt"));
// or in Java 7
// List<String> lines = Files.readAllLines(Paths.get("input.txt"),StandardCharsets.UTF_8);

for (int i = 0; i < lines.size(); i++) {
    System.out.println(lines.get(i));
    if (i % 10 == 6)
        i = i + 3;// or +4 if you don't want to separate questions with empty line
}
List lines=Files.readAllLines(path.get(“input.txt”);
//或者使用Java7
//列表行=Files.readAllLines(path.get(“input.txt”)、StandardCharsets.UTF_8);
对于(int i=0;i
您不需要空调