java - 创建二维数组然后将其写入文件的困难 (Java)

标签 java arrays file-io

对于家庭作业,我需要创建一个可以从文件读取和写入字节数组的类。我已经成功创建了可以读取和写入 CSV 和文本的类,但是当涉及到数组时我遇到了一些困难。

我编写了一个方法(writeByte - 见下文),它使用 FileOutput 类(创建文件,类可以在此处找到 http://www.devjavasoft.org/SecondEdition/SourceCode/Share/FileOutput.java )。 我陷入了嵌套的 for 循环。我需要 for 循环来允许用户输入一系列由制表符分隔的整数。

运行以下代码时,出现以下错误:

Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
The method writeNewline() in the type FileOutput is not applicable for the arguments (String[])
<小时/>

我明白这个错误消息对我来说是什么,但是当我尝试在 FileOutput 类中创建一个新的 writeNewLine 方法时,我的情况并没有好转。我希望有人能够建议我如何纠正这个问题。我很高兴不使用 FileOutput 类,我只是使用它,因为我已经使用它成功创建了其他文件处理程序。

亲切的问候

<小时/>
public void writeByte(final String fileNameOUT){
    Scanner input = new Scanner (System.in);
    FileOutput createData = new FileOutput (fileNameOUT);
    System.out.println("How many rows?");
    int rowsOut = input.nextInt();
    System.out.println("How many columns?");
    int columnsOut = input.nextInt();


    System.out.println("Please enter data, separate each column with a tab.");


        String[] dataIn;
        int [] [] data = new int [rowsOut] [columnsOut];    
        String[] line = null;

        for (int i = 0; i < rowsOut; i++){
                    line = createData.writeNewline(dataIn = input.nextLine().split("\t"));
            for (int j = 0; j < columnsOut; j++){
                data[i][j] = Integer.parseInt(line[j]); 
                System.out.print(data[i][j]);

            } 
        }   
        createData.close();

}

最佳答案

通过查看代码,可以清楚地看出 writeNewline 没有参数。我想你想做的是这样的:

for (int i = 0; i < rowsOut; i++){
            createData.writeNewline();
            String lineString = input.nextLine();
            line = lineString.split("\t");
            for (int j = 0; j < columnsOut; j++){
                data[i][j] = Integer.parseInt(line[j]); 
                System.out.print(data[i][j]);   
            } 
        } 

关于java - 创建二维数组然后将其写入文件的困难 (Java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19665952/

相关文章:

java - 使用 Spring 4 PropertySource 时找不到可重复

c++ - 我不断收到错误 "cannot convert ' float *' to ' float' 作为返回”

javascript - 为瓷砖游戏制作 AI

c# - Stream Read/Write Timeout导致Invalid Operation异常

c++ - 从 C++ 中的偏移量覆盖二进制文件的字节

带轮廓的 Java 异形窗口

java - Maven + Spring Web 项目未命中 Controller

java - 如何获取媒体播放器持续时间的正确持续时间格式?

javascript - Angular : Display 2D Array in table format

java - 设置属性,并将它们存储在文件中