创建2D数组然后将其写入文件的困难(Java)

创建2D数组然后将其写入文件的困难(Java),java,arrays,file-io,Java,Arrays,File Io,对于家庭作业,我需要创建一个类,该类可以在文件中读写字节数组。我已经成功地创建了可以读写CSV和文本的类,但是在数组方面我遇到了一些困难 我已经编写了一个方法(writeByte-见下文),它使用FileOutput类(创建文件,类可以在这里找到)。 我被嵌套for循环卡住了。我需要for循环来允许用户输入一系列由制表符分隔的整数 运行以下代码时,我会出现以下错误: Exception in thread "main" java.lang.Error: Unresolved compilatio

对于家庭作业,我需要创建一个类,该类可以在文件中读写字节数组。我已经成功地创建了可以读写CSV和文本的类,但是在数组方面我遇到了一些困难

我已经编写了一个方法(writeByte-见下文),它使用FileOutput类(创建文件,类可以在这里找到)。 我被嵌套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(最终字符串fileNameOUT){
扫描仪输入=新扫描仪(System.in);
FileOutput createData=新的FileOutput(fileNameOUT);
System.out.println(“多少行?”);
int rowsOut=input.nextInt();
System.out.println(“多少列?”);
int columnsOut=input.nextInt();
System.out.println(“请输入数据,用制表符分隔每一列”);
字符串[]数据输入;
int[][]数据=新int[rowsOut][columnsOut];
字符串[]行=null;
for(int i=0;i
通过查看代码,可以清楚地看出
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]);   
            } 
        } 
for(int i=0;i
我建议您使用IDE,如Netbeans或Eclipse。语法和语义问题由IDE标记,因此您可以在编辑代码时看到问题所在,而不必总是编译文件。(我想把它作为一个评论,但我仍然不能这样做,很抱歉)。

您有任何特殊的间距要求吗?我不明白你为什么不直接写这行(因为除非你序列化内容,否则写一个数组到文件没有多大意义)。谢谢,我想我就快到了。在实现代码之后,我得到以下错误。有什么想法吗?非常感谢线程“main”java.lang.NumberFormatException:对输入字符串的异常:“at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)at java.lang.Integer.parseInt(Integer.java:504)at java.lang.Integer.parseInt(Integer.java:527)at com.gc01.FileManager.ByteManager.writeByte(ByteManager.java:59)在com.gc01.FileManager.bytemmanager.main(bytemmanager.java:89)你知道我将要写什么。。。您希望输入Integer.parseInt(第[j]行)中有数字;。。如果您传递字符串,它将抛出NumberFormatException我会将lineString更改为int并接受int吗?如果是这样,我将如何编写其余的代码?非常感谢!尝试了以下操作:字符串[]数据输入;int[][]数据=新int[rowsOut][columnsOut];字符串[]行=null;对于(inti=0;ifor (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]); } }