如何修改文件名!

时间:2021-10-16 19:15:50
各位大侠,好!小弟想实现这样一个功能:从一个目录中读取一个文件,并把他们的文件名中的所有大写字母转化成小写字母,前提是所有的文件名都是字母!想了好长时间没有思路,望各位指教!

9 个解决方案

#1


File 的 renameTo 方法,现成的。

#2


读文件 截取文件路径名

#3


我试了一下还是不行,这是我写得代码,但是不行,希望指教!
package com;

import java.io.File;

public class ChangeName {
private static File f = null;
public static void main(String[] args) {
f = new File("g:/file");
File[] files = null;
if(f.isDirectory()) {
files = f.listFiles();
}else {
return;
}
for(File f0 : files) {
String s = f0.getName();
for(int i = 0; i < s.length(); i++) {
if(s.charAt(i) >= 'A' && s.charAt(i) <='Z') {
s.replace(s.charAt(i), (char) (s.charAt(i)+32));
}
f0.renameTo(new File("g:/file/s"));
}
}
}
}

#4


file.rename(upper(filename))

#5


f0.renameTo(new File("g:/file/s"));

我汗一个,你的变量s就这么用???

new File("g:/file/"+s);

#6


谢谢啊指出的低级错误啊!但是还是不行啊,希望能继续指教

#7


犯了好几个低级错误

for ( File f0 : files )
{
String s = f0.getName( );
for ( int i = 0; i < s.length( ); i++ )
{
if ( s.charAt( i ) >= 'A' && s.charAt( i ) <= 'Z' )
{
s = s.replace( s.charAt( i ), (char) ( s.charAt( i ) + 32 ) );
}
}
f0.renameTo( new File( f0.getParentFile( ), s ) );
}

#8


for ( File f0 : files )
{
f0.renameTo( new File( f0.getAbsolutePath( ).toLowerCase( ) ) );
}

就够了,怎么搞那么麻烦。

#9


非常感谢啊!

#1


File 的 renameTo 方法,现成的。

#2


读文件 截取文件路径名

#3


我试了一下还是不行,这是我写得代码,但是不行,希望指教!
package com;

import java.io.File;

public class ChangeName {
private static File f = null;
public static void main(String[] args) {
f = new File("g:/file");
File[] files = null;
if(f.isDirectory()) {
files = f.listFiles();
}else {
return;
}
for(File f0 : files) {
String s = f0.getName();
for(int i = 0; i < s.length(); i++) {
if(s.charAt(i) >= 'A' && s.charAt(i) <='Z') {
s.replace(s.charAt(i), (char) (s.charAt(i)+32));
}
f0.renameTo(new File("g:/file/s"));
}
}
}
}

#4


file.rename(upper(filename))

#5


f0.renameTo(new File("g:/file/s"));

我汗一个,你的变量s就这么用???

new File("g:/file/"+s);

#6


谢谢啊指出的低级错误啊!但是还是不行啊,希望能继续指教

#7


犯了好几个低级错误

for ( File f0 : files )
{
String s = f0.getName( );
for ( int i = 0; i < s.length( ); i++ )
{
if ( s.charAt( i ) >= 'A' && s.charAt( i ) <= 'Z' )
{
s = s.replace( s.charAt( i ), (char) ( s.charAt( i ) + 32 ) );
}
}
f0.renameTo( new File( f0.getParentFile( ), s ) );
}

#8


for ( File f0 : files )
{
f0.renameTo( new File( f0.getAbsolutePath( ).toLowerCase( ) ) );
}

就够了,怎么搞那么麻烦。

#9


非常感谢啊!