double
배열에 정수로 채워진 .txt
파일을 읽은 다음 다른 .txt
파일에이 숙제를 쓰는 것이이 숙제입니다.파일을 읽고 더블 배열로 저장 한 다음 새 파일로 작성하십시오.
처음에는 파일을 읽고 이미지로 표시 한 다음 .txt
파일에 double
으로 저장하면 모든 것이 작동한다고 생각했습니다. 그러나 다른 수업 (같은 프레임에 표시)에 동일한 클래스 파일을 사용하려고 시도했을 때 파일의 값으로 0.0
을 계속 사용했습니다. 다음은 내 읽기 및 쓰기 클래스의 코드는 다음과 같습니다
import java.io.*;
import java.util.*;
import java.awt.*;
import java.awt.event.*;
public class IO {
FileDialog fd;
public double[][] readData() {
fd = new FileDialog(new Frame(), "Open Files", FileDialog.LOAD);
fd.setVisible(true);
File f = null;
if ((fd.getDirectory() != null)||(fd.getFile() != null)) {
f = new File(fd.getDirectory() + fd.getFile());
}
FileReader fr = null;
try {
fr = new FileReader (f);
} catch (FileNotFoundException fnfe) {
fnfe.printStackTrace();
}
BufferedReader br = new BufferedReader(fr);
int lines = -1;
String textIn = " ";
String[] file = null;
try {
while (textIn != null) {
textIn = br.readLine();
lines++;
}
file = new String[lines];
fr = new FileReader (f);
br = new BufferedReader(fr);
for (int i = 0; i < lines; i++) {
file[i] = br.readLine();
}
br.close();
} catch (IOException ioe) {
ioe.printStackTrace();
}
double[][] data = new double [lines][];
for (int i = 0; i < lines; i++) {
StringTokenizer st = new StringTokenizer(file[i],",");
data[i] = new double[st.countTokens()];
int j = 0;
while (st.hasMoreTokens()) {
data[i][j] = Double.parseDouble(st.nextToken());
j++;
}
}
return data;
}
public void writeData(double[][] dataIn) {
fd = new FileDialog(new Frame(), "Save Files", FileDialog.SAVE);
fd.setVisible(true);
File f = null;
if ((fd.getDirectory() != null)||(fd.getFile() != null)) {
f = new File(fd.getDirectory() + fd.getFile());
}
FileWriter fw = null;
try {
fw = new FileWriter (f, true);
} catch (IOException ioe) {
ioe.printStackTrace();
}
BufferedWriter bw = new BufferedWriter (fw);
String tempStr = "";
try {
for (int i = 0; i < dataIn.length; i++) {
for (int j = 0; j < dataIn[i].length; j++) {
tempStr = String.valueOf(dataIn[i][j]);
bw.write(tempStr);
}
bw.newLine();
}
bw.close();
} catch (IOException ioe) {
ioe.printStackTrace();
}
}
}
나는 모든 열이 INT 번호 전체에 가득있는 300 행과 열을 가지고 읽으려고 오전 txt 파일. 나는 입력 txt를 Display로 할 수는 있지만 같은 값을 가진 txt 파일로 다시 저장할 수는 없지만 int 대신 double로 저장합니다.
누군가 나를 도와 줄 수 있습니까?
하세요 들여 쓰기 코드를 제대로! – niklon
들여 쓰기에 대해 죄송합니다. 지금 업데이트했습니다. – Twyla