디렉토리의 모든 하위 폴더를 나열하고 텍스트 파일에 기록해야합니다. 그러나 마지막 하위 폴더 만 코딩하면 파일에만 기록됩니다. 도움을 청하십시오. 나는 Java 초보자입니다.디렉토리의 모든 하위 폴더를 나열하고 텍스트 파일에 작성
public class Main {
// private Object bufferedWriter;
/**
* Prints some data to a file using a BufferedWriter
*/
public void writeToFile(String filename) {
try
{
BufferedWriter bufferedWriter = null;
bufferedWriter = new BufferedWriter(new FileWriter(filename));
int i=1;
File f=new File("D:/Moviezzz");
File[] fi=f.listFiles();
for(File fil:fi)
{
if(fil.isHidden())
{
System.out.print("");
}
else if(fil.isDirectory()||fil.isFile())
{
int s=i++;
String files = fil.getName();
//Start writing to the output stream
bufferedWriter.write(s+" "+fil);
bufferedWriter.newLine();
// bufferedWriter.write(s+" "+files);
}
}
//Construct the BufferedWriter object
} catch (FileNotFoundException ex) {
ex.printStackTrace();
}catch (IOException ex) {
ex.printStackTrace();}
}
public static void main(String[] args) {
new Main().writeToFile("d://my.txt");
}
}
루프 뒤에 'BufferedWriter'를 닫으십시오. –
flush()를 수행 했습니까? 시도 해봐. – Ketan
@AhmedKRAIEM, 맞습니다. –