각 줄마다 임의의 숫자로 텍스트 파일을 만들려고합니다.자바 : 난수로 큰 텍스트 파일을 만드시겠습니까?
나는 그럭저럭 할 수 있었다. 그러나 나는 무엇인가의 이유로 생성 할 수있는 가장 큰 파일이 768MB이고 나는 15Gbs까지 파일을 필요로한다.
왜 이런 일이 일어나는 것입니까? 내 생각 엔 크기 제한이나 메모리 문제 일까?
이
내가 작성한 코드입니다 :public static void main(String[] args) throws FileNotFoundException, UnsupportedEncodingException {
//Size in Gbs of my file that I want
double wantedSize = Double.parseDouble("1.5");
Random random = new Random();
PrintWriter writer = new PrintWriter("AvgNumbers.txt", "UTF-8");
boolean keepGoing = true;
int counter = 0;
while(keepGoing){
counter++;
StringBuilder stringValue = new StringBuilder();
for (int i = 0; i < 100; i++) {
double value = 0.1 + (100.0 - 0.1) * random.nextDouble();
stringValue.append(value);
stringValue.append(" ");
}
writer.println(stringValue.toString());
//Check to see if the current size is what we want it to be
if (counter == 10000) {
File file = new File("AvgNumbers.txt");
double currentSize = file.length();
double gbs = (currentSize/1000000000.00);
if(gbs > wantedSize){
keepGoing=false;
writer.close();
}else{
writer.flush();
counter = 0;
}
}
}
}
그 제한을 초과하는 파일을 만들려고하면 어떻게됩니까? – arcy
파일 크기를 아무리 크게 잡아도 768MB로 멈 춥니 다. –
(한숨) 프로그램이 멈추었습니까? 오류 메시지가 나타 납니까? 예외가 있습니까? 디스크 공간이 부족합니까? CPU가 멈추고 화재를 잡습니까? 뭐? – arcy