问题阐述
在操作系统中,文件有很多属性,例如名称、大小、修改时间等。使用Java语言编程时,如何获得这些属性?
专家解答
在File类中,定义了很多查看文件属性的方法,其说明如表12.6所示。
表12.6 File类中文件属性相关方法说明
下面的程序中,根据用户选择的文件而显示其名称、路径、修改时间等信息。程序的关键代码位于按钮的事件监听器中,内容如下。
protected void do_chooseButton_actionPerformed(ActionEvent e) {
JFileChooser chooser = newJFileChooser(); //创建文件选择器
chooser.setFileSelectionMode(JFileChooser.FILES_ONLY); // 限制仅能选择文件
chooser.setFileHidingEnabled(true); //允许选择隐藏文件
chooser.setMultiSelectionEnabled(false); //禁止一次选择多个文件
int result =chooser.showOpenDialog(this); //打开文件选择器
if (result ==JFileChooser.APPROVE_OPTION) {
File selectedFile =chooser.getSelectedFile(); //获得用户选择的文件
fileNameTextField.setText(selectedFile.getName()); // 显示用户选择文件的名称
filePathTextField.setText(selectedFile.getAbsolutePath()); // 显示用户选择文件的绝对路径
SimpleDateFormat format =new SimpleDateFormat(); //创建日期格式化对象
modifiedTimeTextField.setText(format.format(newDate(selectedFile.lastModified()))); //显示文件修改时间
fileLengthTextField.setText(selectedFile.length() / 1024 +"Kb"); // 显示文件大小
readableCheckBox.setSelected(selectedFile.canRead()); // 显示文件是否可以读取
writableCheckBox.setSelected(selectedFile.canWrite()); // 显示文件是否可以写入
hiddenCheckBox.setSelected(selectedFile.isHidden()); // 显示文件是否隐藏
}
}
程序的运行效果如图12.11所示。
图12.11 显示文件的属性
专家点评
文件的可读、可写等属性,对于文件操作非常重要。如果需要将数据写入到文件中,则必须保证该文件可写,否则就会报告异常。为了避免程序发生异常,写入前可以对该文件是否可写进行判断。
如果不可写则给出提示。
关于【C语言编程锦囊】,可能你还想知道:
领取专属 10元无门槛券
私享最新 技术干货