我有一个 Java 程序来复制可移动驱动器中的文件。但问题是用户必须输入驱动器号和文件夹(G:\Folder\File),程序才能读取要复制的文件。如果它们没有指定,那么程序将从工作区目录中读取,因此任何指定但工作区目录中不存在的文件都会导致错误消息。是否可以将目录更改为检测到的可移动驱动器的驱动器号,而不是 Java 代码中的工作区?
文件复制.java
public class FileCopy
{
public static void main(String[] args)
{
Scanner userInput = new Scanner(System.in);
InputStream inStream = null;
OutputStream outStream = null;
try
{
System.out.print("\nFile to copy: ");
String filename = userInput.nextLine();
System.out.print("\nNew filename: ");
String newname = userInput.nextLine();
File file1 = new File(filename);
File file2 = new File(newname);
inStream = new FileInputStream(file1);
outStream = new FileOutputStream(file2);
byte[] buffer = new byte[1024];
int length;
//copy the file content in bytes
while ((length = inStream.read(buffer)) > 0)
{
outStream.write(buffer, 0, length);
}
inStream.close();
outStream.close();
System.out.println("File is copied successful!");
}catch(IOException e)
{
e.printStackTrace();
}
}
}
程序将提示用户输入文件名(包括驱动器号)。例如,在“要复制的文件:”处,用户必须输入 G:\Folder\File 而不是仅仅 Folder\File 或只是 File,程序才能找到要复制的文件。我希望将目录设置为可移动驱动器的驱动器号。有什么办法吗?