Java文件操作指南:读写与创建文件夹

0 下载量 72 浏览量 更新于2024-08-31 收藏 57KB PDF 举报
本文主要讲解了Java语言在读写文件及创建文件夹方面的方法,提供了相关的代码示例,包括获取控制台用户输入、复制文件以及写文件等操作。 在Java中,读写文件和创建文件夹是常见的I/O操作。下面我们将详细探讨这些方法。 一、获取控制台用户输入的信息 在Java中,我们可以通过`System.in`来获取用户的键盘输入。然而,直接使用`System.in.read()`方法可能无法正确处理中文字符。以下是一种简单的实现方式,但不支持中文输入: ```java public String getInputMessage() throws IOException { System.out.println("请输入您的命令:"); byte[] buffer = new byte[1024]; int count = System.in.read(buffer); char[] ch = new char[count - 2]; // 最后两位为结束符,删去不要 for (int i = 0; i < count - 2; i++) ch[i] = (char) buffer[i]; String str = new String(ch); return str; } ``` 为了支持中文输入,可以考虑使用`BufferedReader`和`InputStreamReader`,并指定正确的字符编码,例如GBK: ```java BufferedReader br = new BufferedReader(new InputStreamReader(System.in, "GBK")); String input = br.readLine(); ``` 二、复制文件 Java中可以使用`FileInputStream`和`FileOutputStream`来实现文件的复制。以下是一个示例,该方法能处理中文内容并支持多种文件格式的复制: ```java public void copyFile(String src, String dest) throws IOException { FileInputStream in = new FileInputStream(src); File file = new File(dest); if (!file.exists()) file.createNewFile(); FileOutputStream out = new FileOutputStream(file); int c; byte[] buffer = new byte[1024]; while ((c = in.read(buffer)) != -1) { for (int i = 0; i < c; i++) out.write(buffer[i]); } in.close(); out.close(); } ``` 三、写文件 写文件通常可以通过`PrintStream`或`FileWriter`类实现。以下是使用`PrintStream`的示例: ```java public void PrintStreamDemo() { try { File outputFile = new File("output.txt"); PrintStream ps = new PrintStream(outputFile); ps.println("这是要写入文件的内容"); ps.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } } ``` 如果需要写入特定编码的文本,如UTF-8,可以使用`FileWriter`和`BufferedWriter`: ```java public void writeUTF8File(String content) throws IOException { BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("output.txt"), "UTF-8")); writer.write(content); writer.close(); } ``` 四、创建文件夹 创建文件夹可以使用`File`类的`mkdir()`或`mkdirs()`方法。`mkdir()`仅创建单级目录,而`mkdirs()`会递归创建多级目录结构: ```java public void createDirectory(String dirPath) { File dir = new File(dirPath); if (!dir.exists()) { dir.mkdirs(); // 创建多级目录 } } ``` 以上就是Java中读写文件和创建文件夹的基本方法。在实际开发中,还需要注意异常处理和资源的及时关闭,以确保程序的稳定性和效率。