對於作業分配,我需要創建一個可以讀取和寫入字節數組的文件的類。我已經成功創建了可以讀取和寫入CSV和文本的類,但是對於數組,我遇到了一些困難。創建二維數組然後將其寫入文件(Java)的難點
我寫了一個使用FileOutput類(創建文件,類可以在這裏找到http://www.devjavasoft.org/SecondEdition/SourceCode/Share/FileOutput.java)的方法(writeByte - 見下文)。 我陷入了嵌套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();
}
你有任何特定的間距要求嗎?我不明白爲什麼你不直接寫行(因爲除非序列化內容,否則將文件寫入文件沒有什麼意義)。 – Makoto