gpt4 book ai didi

java - 使用 .txt 文件中的字符串列表重命名已知文件

转载 作者:行者123 更新时间:2023-12-01 09:52:49 26 4
gpt4 key购买 nike

我正在尝试编写一个代码,让我可以使用其中包含名称列表的 txt 文件重命名特定文件(具有已知的名称和目录)。具体来说,我想使用包含该季所有剧集名称的 txt 文件重命名剧集。

这是我写的代码:主类:

import java.io.IOException;


public class Main {

public static void main(String[ ] args) throws IOException {
String file_name = "C:/Users/home/Desktop/Friends season 2 titles.txt";
try {
ReadFile file = new ReadFile (file_name);
String[] arrLines = file.OpenFile();
int i;
/*for ( i=0; i < arrLines.length; i++ ) { // perhaps i'll use this loop later on...
System.out.println( arrLines ) ;
}
*/
RenameFile newFile = new RenameFile ();
String file2_name = "C:/Users/home/Desktop/friends_s02e01_720p_bluray_sujaidr.mkv";
newFile.RenameSingleFile(arrLines[0], file2_name);
}
catch (IOException e) {
System.out.println(e.getMessage());

}
}
}

读取文件类:

    import java.io.IOException;
import java.io.FileReader;
import java.io.BufferedReader;

public class ReadFile {
private String path;
public ReadFile(String filePath){
path = filePath;
}
int readLines() throws IOException {
FileReader file_to_read = new FileReader(path);
BufferedReader bf = new BufferedReader(file_to_read);

@SuppressWarnings("unused")
String aLine;
int numOfLines = 0;

while ((aLine = bf.readLine()) != null){
numOfLines++;
}
bf.close();
return numOfLines;

}
public String[] OpenFile() throws IOException {


FileReader fr = new FileReader(path);
BufferedReader textReader = new BufferedReader(fr);

int numberOfLines = readLines();
String[] textData = new String[numberOfLines];
for (int i=0; i < numberOfLines; i++) {
textData = textReader.readLine();
}
textReader.close( );
return textData;
}

}

重命名文件类:

import java.io.File;
public class RenameFile {
public void RenameSingleFile(String file1_path, String file2_path){
File oldName = new File (file1_path);
File newName = new File (file2_path);

if(oldName.renameTo(newName)) {
System.out.println("The file has been renamed to: " +newName);
} else {
System.out.println("The file could not be renamed.");
}
}
}

出于某种原因,当我运行该程序时,我在控制台中收到以下消息:“该文件无法重命名。”,这意味着我的 RenameSingleFile 方法(或该方法的参数 file1_path 和 file2_path)有问题。

我不知道这段代码有什么问题......

最佳答案

在您的 RenameSingleFile 方法中,您应该将 file2_name (要重命名的标题)作为第一个参数,并在命名时包含目录路径和文件类型:

newFile.RenameSingleFile(file2_name, "C:/Users/home/Desktop/" + arrLines[0] + ".mkv")

关于java - 使用 .txt 文件中的字符串列表重命名已知文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37502678/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com