: 파일이 비어 있습니다에 의해 만들어집니다 그 후, 첫 번째 파일에 기록됩니다 어떤 이유로 그러나파일에 아무것도 쓰지 않는 이유는 무엇입니까?
File afile = new File("C:/dev/ws/DataOrdering/data/" + thisDate
+ "_" + thisTime + "_visdata.csv");
FileWriter writer = new FileWriter(afile);
writer.append(tradeDetails);
writer.close();
를 - 그들은 단지 생성 될 것이다 특정 시간에 레코드가있는 경우 파일 이름은 레코드에서 가져온 시간을 기준으로합니다. 내 완벽한 방법은 아래에 인쇄되어 있습니다. (내가 만든 변경 사항을 반영하여 편집했습니다.)
public void createTimeFiles() throws IOException {
CSVReader reader = new CSVReader(new FileReader(
"C:/dev/ws/DataOrdering/data/visdata.csv"));
String[] nextLine;
String lastTime = "";
String code, date, hour, min, sec, offset, type, price, volume, bid, ask, headline;
HashMap<Integer, FileWriter> writers = new HashMap<Integer, FileWriter>();
while ((nextLine = reader.readNext()) != null) {
String thisDate = nextLine[1];
String thisTime = nextLine[2].substring(0, 5);
code = nextLine[0];
date = nextLine[1];
hour = nextLine[2].substring(0, 2);
min = nextLine[2].substring(3, 5);
sec = nextLine[2].substring(6);
offset = nextLine[3];
type = nextLine[4];
price = nextLine[5];
volume = nextLine[6];
bid = nextLine[7];
ask = nextLine[7];
headline = nextLine[7];
// System.out.println(thisDate + " - " + thisTime + " - " + hour
// + " - " + min);
String tradeDetails = code + " _ " + date + " _ " + hour + " _ "
+ min + " _ " + sec + " _ " + offset + " _ " + type + " _ "
+ price + " _ " + volume + " _ " + bid + " _ " + ask
+ " _ " + headline;
File afile = new File("C:/dev/ws/DataOrdering/data/" + thisDate
+ "_" + thisTime + "_visdata.csv");
if (afile.exists()) {
FileWriter writer = new FileWriter(afile);
writer.append(tradeDetails);
writer.close();
} else {
System.out.println("the file exists");
FileWriter writer = new FileWriter(afile);
writer.write(tradeDetails);
writer.close();
}
}
}
를 호출하기 전에 나는 다른 FileWriter의 인스턴스를 생성하지만, 그것들을 초기화하기 위해 동일한 파일의 인스턴스를 사용하여 함께 할 수있는 그 무언가를 생각한다. 채워진 파일이 empy 파일로 덮어 쓰여졌 기 때문에 파일을 덮어 쓰면 검사 할 때 파일이 비어있는 것처럼 보입니다. – Ankur