Java 使用增量整数命名fileOutputStream
我试图从一个文件夹中读取文件,然后用原始文件名和递增整数存储到另一个文件夹中,但没有成功:Java 使用增量整数命名fileOutputStream,java,file,Java,File,我试图从一个文件夹中读取文件,然后用原始文件名和递增整数存储到另一个文件夹中,但没有成功: File f = new File(C:/FILES); String listfiles[] = f.list(); for (int i = 0; i < listfiles.length; i++) { int count = 0; FileInputStream fstemp = new FileInputStream("C:/FILES/" + listfiles[i]);
File f = new File(C:/FILES);
String listfiles[] = f.list();
for (int i = 0; i < listfiles.length; i++) {
int count = 0;
FileInputStream fstemp = new FileInputStream("C:/FILES/" + listfiles[i]);
FileOutputStream fos = new FileOutputStream("C:/TEMPFILES/" +count + "_"+ listfiles[i]);
BufferedReader br = new BufferedReader(new InputStreamReader(fstemp));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(fos));
String strLine;
..................
count++;
}
我的所有文件都将以0整数移动到临时文件夹。我需要1,2,3,4。。。
我遗漏了什么?您可能希望在循环的每一圈都不重新初始化计数为0
你基本上有:
for (<conditions>) {
int count = 0; // whoops, set to 0 for every iteration!!
// do stuff
count++;
}
您可能希望在循环每转一圈时不重新初始化计数为0
你基本上有:
for (<conditions>) {
int count = 0; // whoops, set to 0 for every iteration!!
// do stuff
count++;
}
每次新循环迭代开始时,变量计数都设置为0
只需将其声明放在前一行:
int count = 0; //
for (int i = 0; i < listfiles.length; i++) {
每次新循环迭代开始时,变量计数都设置为0
只需将其声明放在前一行:
int count = 0; //
for (int i = 0; i < listfiles.length; i++) {
啊,这是一个非常详细的例子,我很欣赏。@Stanley:很高兴你这么做了。Sad Andremoniy可能只快了几秒钟,但对于一个全面的答案:+2。下次会是你:@Stanley:不,那很公平。这是游戏规则:啊,这是一个非常复杂的例子,我很欣赏。@Stanley:很高兴你这么做了。Sad Andremoniy可能只快了几秒钟,但对于一个全面的答案:+2。下次会是你:@Stanley:不,那很公平。这是游戏规则: